本文介绍了如何在 GridSearchCV(随机森林分类器 Scikit)上获得最佳估计器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在运行 GridSearch CV 来优化 scikit 中分类器的参数.完成后,我想知道哪些参数被选为最佳.
I'm running GridSearch CV to optimize the parameters of a classifier in scikit. Once I'm done, I'd like to know which parameters were chosen as the best.
每当我这样做时,我都会收到一个 AttributeError: 'RandomForestClassifier' object has no attribute 'best_estimator_'
,并且不知道为什么,因为它似乎是 .
Whenever I do so I get a AttributeError: 'RandomForestClassifier' object has no attribute 'best_estimator_'
, and can't tell why, as it seems to be a legitimate attribute on the documentation.
from sklearn.grid_search import GridSearchCV
X = data[usable_columns]
y = data[target]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
rfc = RandomForestClassifier(n_jobs=-1,max_features= 'sqrt' ,n_estimators=50, oob_score = True)
param_grid = {
'n_estimators': [200, 700],
'max_features': ['auto', 'sqrt', 'log2']
}
CV_rfc = GridSearchCV(estimator=rfc, param_grid=param_grid, cv= 5)
print '
',CV_rfc.best_estimator_
产量:
`AttributeError: 'GridSearchCV' object has no attribute 'best_estimator_'
推荐答案
必须先拟合数据,然后才能获得最佳参数组合.
You have to fit your data before you can get the best parameter combination.
from sklearn.grid_search import GridSearchCV
from sklearn.datasets import make_classification
from sklearn.ensemble import RandomForestClassifier
# Build a classification task using 3 informative features
X, y = make_classification(n_samples=1000,
n_features=10,
n_informative=3,
n_redundant=0,
n_repeated=0,
n_classes=2,
random_state=0,
shuffle=False)
rfc = RandomForestClassifier(n_jobs=-1,max_features= 'sqrt' ,n_estimators=50, oob_score = True)
param_grid = {
'n_estimators': [200, 700],
'max_features': ['auto', 'sqrt', 'log2']
}
CV_rfc = GridSearchCV(estimator=rfc, param_grid=param_grid, cv= 5)
CV_rfc.fit(X, y)
print CV_rfc.best_params_
这篇关于如何在 GridSearchCV(随机森林分类器 Scikit)上获得最佳估计器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!