PV8*_*PV8 5 python scikit-learn
超级类似于这篇文章:ValueError: 'balanced_accuracy' is not a valid score value in scikit-learn
我在用:
scoring = ['precision_macro', 'recall_macro', 'balanced_accuracy_score']
clf = DecisionTreeClassifier(random_state=0)
scores = cross_validate(clf, X, y, scoring=scoring, cv=10, return_train_score=True)
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ValueError: 'balanced_accuracy_score' 不是有效的评分值。使用 sorted(sklearn.metrics.SCORERS.keys()) 获取有效选项。
当我检查可能的得分手时:
sklearn.metrics.SCORERS.keys()
dict_keys(['explained_variance', 'r2', 'max_error', 'neg_median_absolute_error', 'neg_mean_absolute_error', 'neg_mean_squared_error', 'neg_mean_squared_log_error', 'neg_root_mean_squared_error', 'neg_mean_poisson_deviance', 'neg_mean_gamma_deviance', 'accuracy', 'roc_auc', 'roc_auc_ovr', 'roc_auc_ovo', 'roc_auc_ovr_weighted', 'roc_auc_ovo_weighted', 'balanced_accuracy', 'average_precision', 'neg_log_loss', 'neg_brier_score', 'adjusted_rand_score', 'homogeneity_score', 'completeness_score', 'v_measure_score', 'mutual_info_score', 'adjusted_mutual_info_score', 'normalized_mutual_info_score', 'fowlkes_mallows_score', 'precision', 'precision_macro', 'precision_micro', 'precision_samples', 'precision_weighted', 'recall', 'recall_macro', 'recall_micro', 'recall_samples', 'recall_weighted', 'f1', 'f1_macro', 'f1_micro', 'f1_samples', 'f1_weighted', 'jaccard', 'jaccard_macro', 'jaccard_micro', 'jaccard_samples', 'jaccard_weighted'])
Run Code Online (Sandbox Code Playgroud)
我还是找不到?问题出在哪儿?
按照文档进行有效的得分手,该值scoring对应的参数balanced_accuracy_score射手功能是"balanced_accuracy"在我的其他答案:
改变:
scoring = ['precision_macro', 'recall_macro', 'balanced_accuracy_score']
Run Code Online (Sandbox Code Playgroud)
到:
scoring = ['precision_macro', 'recall_macro', 'balanced_accuracy']
Run Code Online (Sandbox Code Playgroud)
它应该工作。
我确实发现文档在这方面有点缺乏,而且这种删除_score后缀的约定也不一致,因为所有聚类指标_score的名称中仍然包含其scoring参数值。
| 归档时间: |
|
| 查看次数: |
1602 次 |
| 最近记录: |