【发布时间】:2019-04-20 07:39:56
【问题描述】:
我尝试将其他评分指标传递给GridSearchCV,例如用于二元分类的balanced_accuracy(而不是默认的accuracy)
scoring = ['balanced_accuracy','recall','roc_auc','f1','precision']
validator = GridSearchCV(estimator=clf, param_grid=param_grid, scoring=scoring, refit=refit_scorer, cv=cv)
得到了这个错误
ValueError:“balanced_accuracy”不是有效的评分值。有效的 选项是 ['accuracy','adjusted_mutual_info_score','adjusted_rand_score','average_precision','completeness_score','explained_variance','f1','f1_macro','f1_micro','f1_samples','f1_weighted','fowlkes_mallows_score',' homogeneity_score','mutual_info_score','neg_log_loss','neg_mean_absolute_error','neg_mean_squared_error','neg_mean_squared_log_error','neg_median_absolute_error','normalized_mutual_info_score','precision','precision_macro','precision_micro','precision_samples','precision_weighted' ,'r2','recall','recall_macro','recall_micro','recall_samples','recall_weighted','roc_auc','v_measure_score']
这很奇怪,因为 'balanced_accuracy' should be valid
如果不定义balanced_accuracy,那么代码就可以正常工作
scoring = ['recall','roc_auc','f1','precision']
此外,上述错误中的评分指标似乎与document中的评分指标不同
任何想法为什么?非常感谢
scikit-learn 版本为 0.19.2
【问题讨论】:
-
请发布相关代码 - 因为它是,没有足够的细节来有意义地回答问题。同时发布您的 scikit-learn 版本(您可以通过
sklearn.__version__)获取) -
谢谢我加了代码和
scikit-learn版本
标签: python machine-learning scikit-learn metrics