4

タイトルで示唆されているように、ランダムアンダーサンプラーの比率でグリッド検索を行いたいと思います。比率 10、15、および 20を試してみたいと思います。ここで、比率 = 10 は、リサンプリングされた多数派クラスの数 / 少数派クラスの数です。

例 : 少数派クラスに 10 の要素がある場合、多数派は 1000 で、比率が 5 の場合、10 の少数派と 50 の多数派になります。それが Random Under Sampler のドキュメントを示唆するものです。

https://imbalanced-learn.readthedocs.io/en/stable/generated/imblearn.under_sampling.RandomUnderSampler.html

from imblearn.pipeline import make_pipeline as imbalanced_make_pipeline
from sklearn.model_selection import GridSearchCV 

pipe = imbalanced_make_pipeline(RandomUnderSampler(),
                            SMOTE(),
                            RandomForestClassifier())

gsc = GridSearchCV(estimator=pipe, param_grid= {'smote__ratio': [5, 10, 15],
                                            'randomforestclassifier__criterion': ["entropy"], 
                                            'randomforestclassifier__max_depth': np.arange(10,30,5), 
                                            'randomforestclassifier__min_samples_leaf': np.arange(5,15,3)},
               scoring='f1',cv=5, verbose=2)

grid_result = gsc.fit(X, y)

このエラーが発生します:

AttributeError: 'NoneType' object has no attribute 'items'

誰かが私を助けてくれますか?ありがとう。

4

0 に答える 0