我真的很困惑如何使用 NB 分类器计算监督机器学习算法中的精度和召回率
比如说
1)我有两个类 A,B
2)我有 10000 个文档,其中 2000 个用于训练样本集(A 类 = 1000,B 类 = 1000)
3)现在基于上述训练样本集分类休息8000 个文档使用 NB 分类器
4)现在分类后 5000 个文档进入 A 类,3000 个文档进入 B 类
5)现在如何计算 Precision 和 Recall?
请帮我..
谢谢
我真的很困惑如何使用 NB 分类器计算监督机器学习算法中的精度和召回率
比如说
1)我有两个类 A,B
2)我有 10000 个文档,其中 2000 个用于训练样本集(A 类 = 1000,B 类 = 1000)
3)现在基于上述训练样本集分类休息8000 个文档使用 NB 分类器
4)现在分类后 5000 个文档进入 A 类,3000 个文档进入 B 类
5)现在如何计算 Precision 和 Recall?
请帮我..
谢谢
嗨,您必须将结果分为四组 -
真 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
为了清楚起见,让我解释一下。
假设视频中有 9 只狗和一些猫,图像处理算法告诉你场景中有 7 只狗,其中只有 4 只实际上是狗(真阳性),而 3 只是猫(假阳性)
精确度告诉我们在归类为狗的物品中,有多少实际上是狗
所以精度 = 真阳性/(真阳性 + 假阳性) = 4/(4+3)= 4/7
虽然召回告诉了狗的总数,但实际找到了多少只狗。
所以召回=真阳性/总数=真阳性/(真阳性+假阴性) = 4/9
您必须找到 A 类和 B 类的准确率和召回率
A类
真阳性=(5000个分类A类文档中A类文档的数量)
误报 =(5000 个分类的 A 类文档中 B 类文档的数量)
从上面你可以找到Precision。
召回率 = 真阳性/(测试时使用的 A 类文档总数)
对 B 类重复上述操作以找到其精度和召回率。