Python 一次从GridSearch设置多个参数

Python 一次从GridSearch设置多个参数,python,machine-learning,scikit-learn,grid-search,Python,Machine Learning,Scikit Learn,Grid Search,在数据集上使用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)) }

在数据集上使用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
对象,并将其参数设置为与
最佳列表相同的参数。问题是,我正在为每个参数手动执行此操作,如下所示:

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

然而,我将分析多个ML算法,并希望有一种设置新对象参数的通用方法,而不是对每个算法进行硬编码。我只是想知道在sklearn中有没有解决这个问题的方法?

您可以直接使用
grid\u clf.best\u estimator\u
返回具有最佳参数的估计器。您可以直接使用
grid\u clf.best\u estimator\u
返回具有最佳参数的估计器。