首页 > 解决方案 > 如何使用 cross_val_predict() 函数获得“正数”而不是“负数”的精度分数?

问题描述

我在二进制数据集上使用交叉验证。

对,现在当我输入以下行时:

clf = cross_val_score(cl_mnb,transcriptsVectorized, y=Labels,cv=6,scoring = 'precision')
print(clf.round(2))

我确实得到了精确分数,但只针对底片;我想获得阳性病例的精确度。

当我使用 sklearn.metrics.SCORERS 查找可用指标时,我找不到该选项,它存在吗?

标签: python-3.xscikit-learn

解决方案


我觉得您在问题中使用的符号可能不正确,所以如果答案不能解决您的问题,请帮助我。

首先,我们来看看混淆矩阵参考

Precision或阳性预测值:

在此处输入图像描述

Scikit-learn 尊重这个公式,并将 1(或真)解释为正数。条件肯定和预测条件肯定用于获得精度。

正面案例,您是指条件正面案例评估吗?在这种情况下,您可以使用recallsklearn 也提供的指标...

在此处输入图像描述

recall评估您的模型对真正正面的预测。它试图解决的一些问题是:模型是否预测异常?模型是否识别数据中的猫?

然后,也许您需要预测 0 或 False 值。遵循矩阵并理解它,是最好的改进方法!


推荐阅读