【发布时间】:2018-02-25 03:06:14
【问题描述】:
在我的数据集上使用 GridSearchCV 后,我想提取所有最佳参数。
from sklearn.tree import DecisionTreeClassifier
params_grid = {'max_depth': np.arange(3, 10),
'max_leaf_nodes':list(xrange(20,100,20)),
'max_features':list(xrange(2,10,2))
}
my_dt = DecisionTreeClassifier()
grid_clf = GridSearchCV(my_dt, params_grid)
grid_clf.fit(xtrain, ytrain)
best_plist = grid_clf.best_params_
现在我想创建一个新的DecisionTreeClassifier 对象并将其参数设置为与best_plist 相同。问题是我是手动为每个参数做这样的:
new_clf = DecisionTreeClassifier()
new_clf.max_depth=bestplit['max_depth'] # and so on for all the parameters
但是,我将分析多个 ML 算法,并且需要一种通用的方法来设置新对象的参数,而不是对每个算法进行硬编码。我只是想知道在 sklearn 中是否有任何解决方法?
【问题讨论】:
-
您可以直接使用
grid_clf.best_estimator_,它将返回具有最佳参数的估计器。
标签: python machine-learning scikit-learn grid-search