BaggingClassifier使用的分类器的调整参数
说我想训练BaggingClassifier
使用DecisionTreeClassifier
:
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)
我想用GridSearchCV
找到两者的最佳参数BaggingClassifier
和DecisionTreeClassifier
(如max_depth
从DecisionTreeClassifier
和max_samples
从BaggingClassifier
),究竟是什么语法?
-
我自己找到了解决方案:
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
“属于”__
的base_estimator
,也就是我DecisionTreeClassifier
在这种情况下。这可以工作并返回正确的结果。