gpt4 book ai didi

python - 带有 GridSearchCV 的随机森林 - param_grid 上的错误

转载 作者:太空狗 更新时间:2023-10-29 17:26:09 30 4
gpt4 key购买 nike

我正在尝试使用 GridSearchCV 创建随机森林模型,但收到与 param_grid 有关的错误:“ValueError:估算器管道的参数 max_features 无效。使用 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-学习 0.17)

最佳答案

您必须将参数分配给管道中的命名步骤。在你的情况下 classifier。尝试在参数名称前添加 classifier__Sample pipeline

params = {"classifier__max_depth": [3, None],
"classifier__max_features": [1, 3, 10],
"classifier__min_samples_split": [1, 3, 10],
"classifier__min_samples_leaf": [1, 3, 10],
# "bootstrap": [True, False],
"classifier__criterion": ["gini", "entropy"]}

关于python - 带有 GridSearchCV 的随机森林 - param_grid 上的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34889110/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com