【发布时间】:2016-04-25 15:41:09
【问题描述】:
我正在尝试使用 GridSearchCV 创建一个随机森林模型,但遇到与 param_grid 有关的错误:"ValueError: Invalid parameter max_features for estimator Pipeline。使用 `estimator.get_params().keys 检查可用参数列表()"。我正在对文档进行分类,因此我也在将 tf-idf 矢量化器推到管道中。 代码如下:
from sklearn import metrics
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, f1_score, accuracy_score, precision_score, confusion_matrix
from sklearn.pipeline import Pipeline
#Classifier Pipeline
pipeline = Pipeline([
('tfidf', TfidfVectorizer()),
('classifier', RandomForestClassifier())
])
# Params for classifier
params = {"max_depth": [3, None],
"max_features": [1, 3, 10],
"min_samples_split": [1, 3, 10],
"min_samples_leaf": [1, 3, 10],
# "bootstrap": [True, False],
"criterion": ["gini", "entropy"]}
# Grid Search Execute
rf_grid = GridSearchCV(estimator=pipeline , param_grid=params) #cv=10
rf_detector = rf_grid.fit(X_train, Y_train)
print(rf_grid.grid_scores_)
我不知道为什么会出现错误。当我使用 GridSearchCV 运行决策树时,也会发生同样的情况。 (Scikit-learn 0.17)
【问题讨论】:
标签: python scikit-learn random-forest grid-search