sklearn中GridSearchCV如何设置嵌套参数

时间:2022-04-29 20:02:14

以adaboost为例,adaboost有自己的参数,他的base_estimator指向一个弱学习器,这个弱学习器也包含自己的参数,为了使用GridSearchCV我们需要使用嵌套参数。在sklearn中我们使用双下划线表示”__”,例如

from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.grid_search import GridSearchCV
iris = datasets.load_iris()
param_grid = {"base_estimator__criterion": ["gini", "entropy"],
"base_estimator__splitter": ["best", "random"],
"n_estimators": [1, 2]}
dtc = DecisionTreeClassifier()
ada = AdaBoostClassifier(base_estimator=dtc)
X, y = datasets.make_hastie_10_2(n_samples=12000, random_state=1)
grid_search_ada = GridSearchCV(ada, param_grid=param_grid, cv=10)
grid_search_ada.fit(X, y)}