Python中拟合随机森林模型遇InvalidParameterError问题求助
问题解决:GridSearchCV的InvalidParameterError报错
错误原因
你将scoring参数定义成了集合({}),但GridSearchCV的scoring参数不支持集合类型。当需要指定多个评分指标时,必须传入列表([])或者字典。
修正后的代码
rf = RandomForestClassifier(random_state=25) cv_params = {'max_depth': [2,4,6,None], 'min_samples_leaf': [1,2], 'min_samples_split': [2,3], 'max_features': [2,3,4], 'n_estimators': [75, 100, 125, 150] } # 将集合改为列表格式 scoring = ['accuracy', 'precision', 'recall', 'f1'] rf_cv = GridSearchCV(rf, cv_params, scoring=scoring, cv=5, refit='recall') rf_cv.fit(X_train, y_train)
补充说明
- 若需要给指标自定义名称,可使用字典格式,比如
scoring={'acc': 'accuracy', 'prec': 'precision'},后续查看交叉验证结果时可通过自定义名称索引。 - 你设置的
refit='recall'参数是合理的,只要该指标存在于scoring的列表或字典中,就能指定用该指标对应的最优模型重新训练全量训练数据。
内容的提问来源于stack exchange,提问作者Increth
相关产品推荐
相关产品推荐

