5

我真的很困惑如何使用 NB 分类器计算监督机器学习算法中的精度和召回率

比如说
1)我有两个类 A,B
2)我有 10000 个文档,其中 2000 个用于训练样本集(A 类 = 1000,B 类 = 1000)
3)现在基于上述训练样本集分类休息8000 个文档使用 NB 分类器
4)现在分类后 5000 个文档进入 A 类,3000 个文档进入 B 类
5)现在如何计算 Precision 和 Recall?

请帮我..

谢谢

4

2 回答 2

18

嗨,您必须将结果分为四组 -
真 A 类(TA) - 正确分类为 A 类
假 A 类(FA) - 错误分类为 A 类
真 B 类(TB) - 正确分类为 B 类
假 B 类( FB) - 错误分类为 B 类

精度 = TA / (TA + FA)
召回率 = TA / (TA + FB)

您可能还需要准确度和 F 度量:

准确度 = (TA + TB) / (TA + TB + FA + FB)
f-measure = 2 * ((精确度 * 召回率)/(精确度 + 召回率))

更多信息:
http ://en.wikipedia.org/wiki/Precision_and_recall#Definition_.28classification_context.29

于 2012-12-08T12:18:25.460 回答
7

为了清楚起见,让我解释一下。

假设视频中有 9 只狗和一些猫,图像处理算法告诉你场景中有 7 只狗,其中只有 4 只实际上是狗(真阳性),而 3 只是猫(假阳性)

精确度告诉我们在归类为狗的物品中,有多少实际上是狗

所以精度 = 真阳性/(真阳性 + 假阳性) = 4/(4+3)= 4/7

虽然召回告诉了狗的总数,但实际找到了多少只狗。

所以召回=真阳性/总数=真阳性/(真阳性+假阴性) = 4/9


在你的问题中

您必须找到 A 类和 B 类的准确率和召回率

A类

真阳性=(5000个分类A类文档中A类文档的数量)

误报 =(5000 个分类的 A 类文档中 B 类文档的数量)

从上面你可以找到Precision。

召回率 = 真阳性/(测试时使用的 A 类文档总数)

对 B 类重复上述操作以找到其精度和召回率。

于 2014-10-30T13:41:45.247 回答