![](/img/trans.png)
[英]How can I calculate recall and precision if I have 4 x and y values in two dataset?
[英]I want to calculate Precision, Recall and Accuracy in a dataset
我有两组数据:预测数据和实际数据。
算法最多可以预测预测中的五个唯一预定义参数。 假设参数是从 a 到 z 的字母。 因此,对于一行,我看到这些参数中有多少是正确预测的。
Predicted:
Index P1 P2 P3 P4 P5
1 a b c q
2 g
3 s f g v t
Actual:
Index P1 P2 P3 P4 P5
1 a s q r t
2 g
3 t v
生成这些数据帧的代码:
import pandas as pd
predicted = pd.DataFrame.from_records(columns =['P'+str(i) for i in range(1,6)],
data=[['a','b','c','q'],['g'], ['s','f','g','v','t']])
actual = pd.DataFrame.from_records(columns =['P'+str(i) for i in range(1,6)],
data=[['a','s','q','r','t'],['g'], ['t','v']])
For Row1: Correctly predicted parameters: a,q
For Row2: Correctly predicted parameters: g
For Row3: Correctly predicted parameters: t,v
我如何计算相同的精度、召回率和准确率?
要计算此处的准确性,您只需计算预测参数与实际参数匹配的出现次数,忽略它们都是None
的情况。 有很多方法可以做到这一点,我会采取这个简单的选择:
accuracy = ((predicted==actual) & (predicted.notna() | actual.notna())).sum().sum() / (predicted.notna() | actual.notna()).sum().sum()
您可以验证它是否符合所需的结果 (2/11)。
对于多类数据,精度/召回率有点棘手——你可以按照 label 来做,但这里肯定没有足够的数据。 对于这种情况,我会坚持准确性...
PS我假设您的准确性计算非常简单。 如果不是 - 应该在您的问题中明确指定...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.