首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在k折交叉验证中,任何sklearn模块都可以返回负类的平均精度和召回率分数吗?

在k折交叉验证中,任何sklearn模块都可以返回负类的平均精度和召回率分数吗?
EN

Stack Overflow用户
提问于 2020-02-10 07:44:30
回答 1查看 474关注 0票数 0

我试图在10倍交叉验证中获得正负类的精确度和召回率的平均值。我的模型是一个二进制分类器。

我运行了下面的代码,不幸的是,它只返回了正类的平均精度和召回率。我如何告诉算法返回负类的平均精度和召回率分数呢?

代码语言:javascript
复制
from sklearn.metrics import make_scorer, accuracy_score, precision_score, recall_score, f1_score
from sklearn.model_selection import cross_validate

scoring = {'accuracy' : make_scorer(accuracy_score), 
           'precision' : make_scorer(precision_score),
           'recall' : make_scorer(recall_score), 
           'f1_score' : make_scorer(f1_score)}

results = cross_validate(model_unbalanced_data_10_times_weight, X, Y, cv=10, scoring=scoring)

np.mean(results['test_precision'])
np.mean(results['test_recall'])

我还尝试使用"classification_report(y_test, predictions)“命令打印分类报告,这导致了下面的屏幕截图中的打印输出。然而,我相信分类报告中的准确率/召回率分数仅基于1次运行,而不是超过10倍的平均值(如果我错了,请纠正我)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-11 03:59:47

基于我们上面的讨论,我确实认为计算每个简历文件夹的预测并计算它们的cross_validation_report应该是正确的方法。结果现在应该考虑到简历折叠的数量:

代码语言:javascript
复制
>>> from sklearn.metrics import classification_report
>>> from sklearn.datasets import load_iris
>>> from sklearn.ensemble import RandomForestClassifier
>>> from sklearn.model_selection import cross_val_predict
>>> 
>>> iris = load_iris()
>>> 
>>> rf_clf = RandomForestClassifier()
>>> 
>>> preds = cross_val_predict(estimator=rf_clf,
...                           X=iris["data"],
...                           y=iris["target"],
...                           cv=15)
>>> 
>>> print(classification_report(iris["target"], preds))
              precision    recall  f1-score   support

           0       1.00      1.00      1.00        50
           1       0.92      0.94      0.93        50
           2       0.94      0.92      0.93        50

    accuracy                           0.95       150
   macro avg       0.95      0.95      0.95       150
weighted avg       0.95      0.95      0.95       150
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60142454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档