Я пытаюсь установить гиперпараметры DecisionTreeClassifiers с помощью GridSearchCV, и поскольку мои данные несбалансированы, я пытаюсь использовать 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'
Что я здесь делаю не так?
РЕДАКТИРОВАТЬ: Решение опубликовано ниже