我在尝试使用GridSearchCV获取最优参数时遇到了错误:
AttributeError: 'DecisionTreeClassifier' object has no attribute 'best_params_'
我不知道哪里出错了……这是模型的代码:
#DTclassifier = 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_
返回最佳训练模型,在本例中是一个 DecisionTreeClassifier
。
要访问参数,请使用方法 get_params()
(参见 这里)
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'}
这会返回一个字典,你现在可以从中访问最优参数