#1 准确率
如何评价一个分类器,最初印象肯定是越准确越好。比如,准确率为90 %准确率80%的分类器好吗?
答案是否定的。
对于一个平衡(正负样本各一半)的样本集,准确率是可以作为评估标准。
但是对于不平衡(正负样本比例不同)的数据集准确率的作用大打折扣。
如一个样本集 :
正样本 | 负样本 |
---|---|
999 | 1 |
此时,只要将分类器设置为全真 则
a
c
c
u
r
a
c
y
=
c
o
r
r
e
c
t
s
a
m
p
l
e
s
t
o
t
a
l
s
a
m
p
l
e
s
=
999
999
+
1
=
99.9
%
accuracy=\frac {correct ~samples}{total ~samples}=\frac {999}{999+1}=99.9\%
accuracy=total samplescorrect samples=999+1999=99.9%
由此可见,一个智障分类器,就可以把准确率提升到99.9%,但是显然这是没用的。
#2精确率和召回率
下面是经典的Contingency Table 也就是概率论中的两类错误。
Correct | Not Correct | |
---|---|---|
Selected | TP(True Positive) | FP(False Positive) |
Not Selected | TN(True Negative) | FN(False Negative) |
精确率:分类器分类为正确的的样本数中正确样本的比例
P
r
e
c
i
s
i
o
n
=
T
P
T
P
+
F
P
Precision=\frac{TP}{TP+FP}
Precision=TP+FPTP
召回率:样本中正确的样本数中被分类器成功识别的比例
R
e
c
a
l
l
=
T
P
T
P
+
T
N
Recall=\frac{TP}{TP+TN}
Recall=TP+TNTP
For example :
原始的样本集:
原始 | P | N | P | P | N | P | P | P | N | P |
---|---|---|---|---|---|---|---|---|---|---|
测试 | P | P | P | N | P | P | P | N | P | P |
下面计算下混淆矩阵
Correct | Not Correct | |
---|---|---|
Selected | TP=5 | FP=3 |
Not Selected | TN=2 | FN=0 |
则
p
r
e
c
i
s
i
o
n
=
5
5
+
3
=
62.5
%
precision=\frac{5}{5+3}=62.5\%
precision=5+35=62.5%
r
e
c
a
l
l
=
5
5
+
2
=
71.4
%
recall=\frac{5}{5+2}=71.4\%
recall=5+25=71.4%
tips:精确率和召回率是互斥的
- 如果召回率高,则分类器划分为正确的值多,但是错误的也多。这时候,分类器就是宁可错杀三千,决不放过一个的规则,这适用于疾病诊断类的系统,宁可无病认为有病,也不能有病认为无病,当然找到平衡最好。
- 如果精确率高,则分类器是严师出高徒模式,则用户划分为正确的样本少,精准性好,但是召回率就会变低。
#3 F1-measure
在一个系统中,既要考虑精确率又要考虑召回率的话,无疑这样的系统是复杂的,有没有办法将两种条件合并为一种呢?答案是肯定的。他就是F1-measure
F 1 − m e a s u r e = 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n + r e c a l l F1-measure=\frac {2*precision*recall}{precision +recall} F1−measure=precision+recall2∗precision∗recall
以上的案例中的f1-measure的值为
f
1
−
m
e
a
s
u
r
e
=
2
∗
0.625
∗
0.714
0.625
+
0.714
=
66.6
%
f1-measure=\frac {2*0.625*0.714}{0.625 +0.714}=66.6\%
f1−measure=0.625+0.7142∗0.625∗0.714=66.6%
欢迎点赞,有问题请留言