我实现了文本分类的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
答案 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}}