_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。
F1 score是用于评价二元分类器的尺度。 让我们先回顾一下计算公式:
f1=21 recall1precision=2recallprecisionrecallprecisionf1=21 recall1precision=2recallprecisionrecalllprecision
F1是针对二元分类的,对于多变量分类器有F1 score这样的测量方法吗? 有。 而且有多个。 常用的有两种。 这就是提问者问的两种。 一种称为macro-F1,另一种称为micro-F1。
macro-F1
对于一个多分类问题,假设有三个类,分别标记为1、2、3,
TPiTPi是指分类ii的真定位;
所谓FPiFPi是指分类ii的False Positive;
TNiTNi是指分类ii的True Negative;
FNiFNi是指分类ii的False Negative。
然后计算每个类的精度precision
precision I=tpitpifpifpiprecisioni=tpitpifpi
macro精度是所有精度的平均值
precision ma=precision1precision2precision 33 precision ma=precision1precision2precision 33
同样,分别计算各级的召回(recall )
recalli=tpitpifnirecalli=tpitpifni
宏召回是所有召回的平均值
recall ma=recall1recall2recall 33 recall ma=recall1recall2recall 33
最后的macro-F1的计算公式是
F1,ma=2recall maprecisionmarecallmaprecisionmaf 1,ma=2recall maprecisionmarecallmaprecisionma
micro-F1
对于一个多分类问题,假设有三个类,分别标记为1、2、3,
TPiTPi是指分类ii的真定位;
所谓FPiFPi是指分类ii的False Positive;
TNiTNi是指分类ii的True Negative;
FNiFNi是指分类ii的False Negative。
接下来,计算micro精度(precision )
precision mi=tp1 TP2TP3tp1 FP1TP2FP2TP 3f P3 precision mi=tp1 TP2TP3tp1 FP2TP 2f P3 FP3FP 3
然后是微召回(recall )
recall mi=tp1 TP2TP3tp1 fn1TP 2f N2 TP3fn3recall mi=tp1 TP2TP3tp1 fn1TP 2f N2 TP3fn 3
最后的micro-F1的计算公式是
F1,mi=2recall miprecisionmirecallmiprecisionmif 1,mi=2recall miprecisionmirecallmiprecisionmi
如果此数据集中每个类的分布不均衡,建议使用mirco-F1。 因为macro没有考虑各级的样本大小。
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。
准确率与召回率(Precision Recall)
3358www.Sina.com/和准确率是两个广泛用于信息检索和统计学分类领域的测量值,用于评价结果的质量。 这里,精度是检索到的相关文档数与检索到的文档总数的比率,是检索系统的召回率; 召回率是指检索到的相关文件数与文件库中所有相关文件数的比率,测定了检索系统的查准率。
通常,Precision是指找到的项目(例如文档、网页等)有多准确
,Recall就是所有准确的条目有多少被检索出来了。
正确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先:
1. 正确率 = 提取出的正确信息条数 / 提取出的信息条数
2. 召回率 = 提取出的正确信息条数 / 样本中的信息条数
两者取值在0和1之间,数值越接近1,查准率或查全率就越高。
3. F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)
不妨举这样一个例子:某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:
正确率 = 700 / (700 + 200 + 100) = 70%
召回率 = 700 / 1400 = 50%
F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%
不妨看看如果把bmdzfj里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:
正确率 = 1400 / (1400 + 300 + 300) = 70%
召回率 = 1400 / 1400 = 100%
F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%
由此可见,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。
当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。
2、综合评价指标(F-Measure)
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均:
当参数α=1时,就是最常见的F1,也即
可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。
参考文章:
http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/
http://sofasofa.io/forum_main_post.php?postid=1001112
快三三期必中口诀 3. F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)
不妨举这样一个例子:某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:
正确率 = 700 / (700 + 200 + 100) = 70%
召回率 = 700 / 1400 = 50%
F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%
不妨看看如果把bmdzfj里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:
正确率 = 1400 / (1400 + 300 + 300) = 70%
召回率 = 1400 / 1400 = 100%
F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%
由此可见,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。
当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。
2、综合评价指标(F-Measure)
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均:
当参数α=1时,就是最常见的F1,也即
可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。
参考文章:
http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/
http://sofasofa.io/forum_main_post.php?postid=1001112