python - 按类别计算精度和召回率
问题描述
我正在使用两个类别的数据集,2
正面类别4
在哪里,负面类别在哪里(关于情绪分析)。2
4
我有一组来自我的模型的预测和一组实际值。我需要确定每个类的精确率和召回率(正类和负类的 P 和 R 分数)。
代码如下:
preds = [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 2, 2, 4, 4, 4, 4, 2]
actuals = [2, 4, 2, 4, 2, 4, 2, 4, 4, 4, 2, 4, 4, 4, 2, 2, 4, 4, 2, 4, 4, 4, 4, 4, 4, 2]
true_pos = 0
true_neg = 0
false_pos = 0
false_neg = 0
for pred, act in zip(preds, actuals):
# 2 is positive, 4 is negative
if(pred == 2 & act == 2):
true_pos += 1
elif(pred == 4 & act == 4):
true_neg += 1
elif(pred == 2 & act == 4):
false_pos += 1
elif(pred == 4 & act == 2):
false_neg += 1
print("True Positive: ", true_pos)
print("True Negative: ", true_neg)
print("False Positive: ", false_neg)
print("False Negative: ", false_neg)
产生:
True Positive: 1
True Negative: 14
False Positive: 0
False Negative: 0
然而,我真的被困在我应该如何按类计算这些指标上。这篇 SO 帖子指示了如何整体执行此操作,而不是按类别执行此操作。
理想情况下,我最终会得到如下输出:
Class 2 P Score: x
Class 2 R Score: x
Class 4 P Score: x
Class 4 R Score: x
但我不确定如何计算。
如何调整我当前的逻辑以使用上述数据检查每个班级的精确度和召回率分数?
解决方案
推荐阅读
- python - 将图像裁剪到对象区域的区域
- android - Android studio v3.2 打不开构建日志
- android - GridLayout合并左上角的所有元素
- javascript - 在javascript Laravel 5.4中提交表单
- reactjs - react-pdf 在我的应用程序上不起作用,不显示我的 pdf
- python-requests - 用于序列优化的 HERE-API 获取不返回
- c - C中的递归函数用于查找任意数字N的算术组合
- c - C和它的抽象机器之间的精确关系是什么?
- android - 程序类型已经存在:android.support.v4.app.LoaderManager$LoaderCallbacks
- c# - C# NRE 通过相对 XPath 和 XPathSelectElement 选择子元素