假设我想训练使用

dt = DecisionTreeClassifier(max_depth = 1)
bc = BaggingClassifier(dt, n_estimators = 500, max_samples = 0.5, max_features = 0.5)
bc = bc.fit(X_train, y_train)

我想使用BaggingClassifierDecisionTreeClassifierGridSearchCV找到最佳参数(例如BaggingClassifierfromDecisionTreeClassifiermax_depthfromDecisionTreeClassifier),这有什么语法?

最佳答案

我自己找到了解决方案:

param_grid = {
    'base_estimator__max_depth' : [1, 2, 3, 4, 5],
    'max_samples' : [0.05, 0.1, 0.2, 0.5]
}

clf = GridSearchCV(BaggingClassifier(DecisionTreeClassifier(),
                                     n_estimators = 100, max_features = 0.5),
                   param_grid, scoring = choosen_scoring)
clf.fit(X_train, y_train)

也就是说,在这种情况下,max_depth属于“__thebase_estimator,即myDecisionTreeClassifier。这样可以工作并返回正确的结果。

关于python - 调整BaggingClassifier使用的分类器的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47570307/

10-12 19:52