python - machine - Cómo obtener Best Estimator en GridSearchCV(Scikit clasificador de bosque aleatorio)
k fold cross validation python example (2)
Debe ajustar sus datos antes de poder obtener la mejor combinación de parámetros.
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_
Estoy ejecutando GridSearch CV para optimizar los parámetros de un clasificador en scikit. Una vez que termine, me gustaría saber qué parámetros fueron elegidos como los mejores.
Siempre que lo hago, obtengo un AttributeError: ''RandomForestClassifier'' object has no attribute ''best_estimator_''
, y no puede decir por qué, ya que parece ser un atributo legítimo en la 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 ''/n'',CV_rfc.best_estimator_
Rendimientos:
`AttributeError: ''GridSearchCV'' object has no attribute ''best_estimator_''
Solo para agregar un punto más para que quede claro.
El documento dice lo siguiente:
best_estimator_: estimator o dict:
Estimador que fue elegido por la búsqueda, es decir, el estimador que dio la puntuación más alta (o la pérdida más pequeña si se especifica) en los datos omitidos.
Cuando se llama a la búsqueda de cuadrícula con varios parámetros, elige el que tiene la puntuación más alta en función de la función del anotador dado. El mejor estimador da la información de los parámetros que dieron como resultado la puntuación más alta.
Por lo tanto, esto solo se puede llamar después de ajustar los datos.