【发布时间】:2019-07-31 05:19:00
【问题描述】:
我正在尝试在具有年龄组和种族组的多类标签的数据集上构建 Adaboost 模型。
因为我计划获得 ROC 和 AUC,所以我将目标变量二值化为年龄组的 yb_train2 和种族组的 yb_train3。然后我在决策树模型中尝试了 one-vs-rest,效果很好。
但现在我不知道如何在网格搜索中指定参数,我尝试了以下代码,并得到一个语法错误:
abc = AdaBoostClassifier(base_estimator= (OneVsRestClassifier(DecisionTreeClassifier()))
param_grid = dict(base_estimator__estimator__criterion = ["gini", "entropy"],
base_estimator__estimator__splitter = ["best", "random"],
n_estimators = [1, 2],
learning_rate = [0.0001,0.001,0.01,0.1,1]
)
grid = GridSearchCV(abc,param_grid)
grid.fit(X_train,yb_train2)
print ('best score: {:}').format(grid.best_score_ ), ('with parameter: {:}').format(grid.best_params_)
grid.fit(X_train,yb_train3)
print ('best score: {:}').format(grid.best_score_ ), ('with parameter:{:}').format(grid.best_params_)
【问题讨论】:
标签: python machine-learning scikit-learn grid-search adaboost