1

GridSearchCV を使用して DecisionTreeClassifiers のハイパーパラメーターを設定しようとしていますが、データのバランスが取れていないため、imblearn.over_sampling.RandomOverSampler を使用しようとしています。

from imblearn.over_sampling import RandomOverSampler

dtpass = tree.DecisionTreeClassifier()
pipe1 = Pipeline([('sampling', RandomOverSampler()), ('class', dtpass)])

parameters = {'class__max_depth': range(3,7), 
          'class__ccp_alpha': np.arange(0, 0.001, 0.00025), 
          'class__min_samples_leaf' : [50]
         }

dt2 = GridSearchCV(estimator = pipe1, 
               param_grid = parameters,
               n_jobs = 4,
              scoring = 'roc_auc'
)

dt2.fit(x, y)

これはエラーを返します:

AttributeError: 'RandomOverSampler' object has no attribute '_validate_data'

ここで何が間違っていますか?

編集:以下に投稿されたソリューション

4

2 に答える 2