如何使用 GridSearchCV 找到优化参数

how to find the optimized parameters using GridSearchCV

我正在尝试使用 GridSearchCV 获取优化参数,但出现错误:

AttributeError: 'DecisionTreeClassifier' object has no attribute 'best_params_'

我不知道我哪里做错了..这是模型的代码:

#DT
classifier = DecisionTreeClassifier(max_depth=800, min_samples_split=5)
params = {'criterion':['gini','entropy'],'splitter':['best', 'random']}
classifier = GridSearchCV(classifier, params, cv=3, n_jobs=4)
classifier.fit(train_vectors, train_labels)
classifier = classifier.best_estimator_
print("Best: using {0}".format(classifier.best_params_))

我是这个领域的新手,有什么帮助吗?

classifier.best_estimator_ returns 训练最好的模型,在这种情况下是 DecisionTreeClassifier

要访问参数,请使用方法 get_params()(参见 here

classifier.get_params()
>>>
{'ccp_alpha': 0.0,
 'class_weight': None,
 'criterion': 'gini',
 'max_depth': 5,
 'max_features': None,
 'max_leaf_nodes': None,
 'min_impurity_decrease': 0.0,
 'min_impurity_split': None,
 'min_samples_leaf': 1,
 'min_samples_split': 5,
 'min_weight_fraction_leaf': 0.0,
 'presort': 'deprecated',
 'random_state': None,
 'splitter': 'best'}

这个 returns 字典,您现在可以从中访问优化的参数