我正在尝试在GridSearch中设置RandomForestClassification
rfc_model = RandomForestClassifier(n_estimators = 5, max_depth = 3 )
gs = grid_search.GridSearchCV(estimator = rfc_model,
param_grid = {'n_estimators': [i for i in range(1,52,10)],
"max_depth": [3, 5],
"bootstrap": [True, False],
"criterion": ["gini"]},
cv = cross_val_score(rfc_model,X, y, scoring='roc_auc'))
gs.fit(X, y)
gs.grid_scores_
print gs.best_estimator
print gs.best_score_
我收到错误
TypeError: 'numpy.float64' object is not iterable
显然我正在学习,所以欢迎任何评论。
答案 0 :(得分:1)
好的,我发现了问题,我在使用错误的方法(可以称之为方法吗?)进行交叉验证,在解决方案之下:
gs = grid_search.GridSearchCV(estimator = model,
param_grid = {'n_estimators': [i for i in range(1,52,10)],
"max_depth": [3, 5],
"bootstrap": [True, False],
"criterion": ["gini"]},
cv = cross_validation.KFold(n=len(X), n_folds=10), scoring='roc_auc')