一次从GridSearch设置多个参数



在我的数据集上使用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_

现在,我想创建一个新的A DecisionTreeClassifier对象,并将其参数设置与best_plist相同。问题在于我正在为每个参数手动执行此操作:

new_clf = DecisionTreeClassifier()
new_clf.max_depth=bestplit['max_depth']  # and so on for all the parameters

但是,我将分析多个ML algoritihms,并需要一种设置新对象参数的通用方法,而不是为每个算法进行硬编码。我只是想知道Sklearn中是否有任何工作?

scikit-learn具有本地方法可以在这里尝试的方法。您需要做的是将新对象保存为以前拟合中参数的最佳组合。可以用

来实现
new_clf = grid.clf.best_estimator_

将在您以前的搜索中创建一个具有最佳配置的新学习者对象。

pd:这是一个古老的问题,也许您已经弄清楚了,但是尚未解决。

相关内容

  • 没有找到相关文章

最新更新