机器学习中常用的性能指标
前言
衡量一个机器学习算法的优劣有许多指标可以参考,对于不同任务的不同算法需要采用不同的指标进行衡量而不能一概而论。
混淆矩阵
TP:真实类别为positive,模型预测的类别也为positive
FP:预测为positive,但真实类别为negative,真实类别和预测类别不一致
FN:预测为negative,但真实类别为positive,真实类别和预测类别不一致
TN:真实类别为negative,模型预测的类别也为negative
指标详细定义
常用的指标主要有准确率(Accuracy, ACC),纯度(Purity)和F-score。
ACC,
ACC的定义如下:
ACC
=
∑
i
=
1
n
δ
(
l
i
,
m
a
p
(
r
i
)
)
n
.
\text{ACC} = \frac{\sum_{i=1}^n \delta(l_i, map(r_i))}{n}~.
ACC=n∑i=1nδ(li,map(ri)) .
其中, R R R是聚类结果 r i r_i ri的集合, L L L是真实标签 l i l_i li的集合,当 r i = l i r_i=l_i ri=li时, δ ( r i , l i ) = 1 \delta(r_i, l_i)=1 δ(ri,li)=1,否则 δ ( r i , l i ) = 0 \delta(r_i, l_i)=0 δ(ri,li)=0。 m a p ( r i ) map(r_i) map(ri)是最佳映射函数,使用KuhnMunkres算法来置换聚类标签以匹配真实的标签。
纯度(Purity)
纯度(Purity)的定义为:
Purity
(
R
,
L
)
=
1
n
∑
k
max
j
∣
r
k
∪
l
j
∣
.
\text{Purity}(R,L) = \frac{1}{n} \sum_k \max_j \left | r_k \cup l_j\right | .
Purity(R,L)=n1k∑jmax∣rk∪lj∣.
上式表示将每个簇中的多数类作最终的划分结果,计算出分配正确的类的个数,再除以
n
n
n得到纯度。
F-score
F-score的定义为:
F-score
=
2
×
Pre
×
Rec
Pre
+
Rec
.
\text{F}\text{-score} = 2\times \frac{\text{Pre} \times \text{Rec}}{\text{Pre}+\text{Rec}}~.
F-score=2×Pre+RecPre×Rec .
精度 Pre = TP TP + FP \text{Pre}=\frac{\text{TP}}{\text{TP}+\text{FP}} Pre=TP+FPTP且召回值 Rec = TP TP + FN \text{Rec}=\frac{\text{TP}}{\text{TP}+\text{FN}} Rec=TP+FNTP, TP \text{TP} TP是真正类, FP \text{FP} FP是假正类, FN \text{FN} FN是假负类。