fastText中的精确度和召回率?

时间:2017-09-09 10:54:54

标签: nlp classification precision fasttext

我实现了文本分类的fastText,链接https://github.com/facebookresearch/fastText/blob/master/tutorials/supervised-learning.md 我想知道@ 1或P @5的精度是什么意思?我做了二进制分类,但我测试了不同的数字,我不理解结果:

haos-mbp:fastText hao$ ./fasttext test trainmodel.bin train.valid 2
N   312
P@2 0.5
R@2 1
Number of examples: 312
haos-mbp:fastText hao$ ./fasttext test trainmodel.bin train.valid 1
N   312
P@1 0.712
R@1 0.712
Number of examples: 312
haos-mbp:fastText hao$ ./fasttext test trainmodel.bin train.valid 3
N   312
P@3 0.333
R@3 1
Number of examples: 312

2 个答案:

答案 0 :(得分:2)

精确度是相关结果的数量与程序检索的结果总数之比。假设一个文档搜索引擎,检索出100个文档,其中90个与查询相关,则精度为90/100(0.9)。由于我们用100个结果计算了精​​度,因此这是P @ 100。

And Recall是算法检索的相关结果与所有相关结果总数的比率。使用上面的相同示例,如果相关文档的总数是110,则召回是90/110。

简而言之,召回有助于评估信息检索程序在获取相关结果方面的完整程度;精确度有助于评估结果的准确程度。

请在快速文本中检查这个二进制分类,https://github.com/facebookresearch/fastText/issues/93

答案 1 :(得分:1)

精度是正确预测的标签数与模型预测的标签数之比

召回率是验证数据集中正确预测的标签数与实际标签数之比。

例如: 验证数据集中输入的实际标签:A, B, C, D

模型输入的预测标签:A, B, C

正确预测的标签:3 / 4

精度:0.75 = 3 / 5

回想一下:0.6 = {{1}}