我正在尝试使用 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'
我在这里做错了什么?
编辑:下面发布的解决方案