对于分类问题,我们都期望找出label。而对于不同的分类结果,我们有不同的表现指标:
- Positive:指的是我们所期望找到的目标,即正样本,通常在分类问题中的label用1表示。
- Negative:与Positive相反,即负样本,通常在分类问题中的label用0表示。
- TP:这里个人理解为真正,即y_pred预测为正样本,y_true真实也为正样本,拆开理解为:
TP = True+Positive = 真的+正样本 - FP:这里个人理解为伪正,即y_pred预测为正样本,y_true真实为负样本,拆开理解为:
FP = False+Positive = 伪(装)的+正样本 - TN:这里个人理解为真负,即y_pred预测为负样本,y_true真实也为负样本,拆开理解为:
TF = True+Negative = 真的+负样本 - FN:这里个人理解为伪负,即y_pred预测为负样本,y_true真实为真样本,拆开理解为:
FN = False+Negative = 伪(装)的+负样本
根据上述指标,于是有下图(混淆矩阵):
根据混淆矩阵,我们会得出以下指标:
- 准确率,表示预测结果中正确的概率(预测为正(负),真实为正(负)):
A c c u r a c y = T P + T N T P + T N + F P + F N Accuracy = \frac{TP+TN}{TP+TN+FP+FN} Accuracy=TP+TN+FP+FNTP+TN - 精确率,表示预测为正且真实为正TP占预测为正TP+FP的概率:
P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP - 召回率,表示预测为正且真实为正TP占真实为正TP+FN的概率:
R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP - F1指标,用来衡量Precision和Recall的一个指标,往往当F1很高时,Precision和Recall也很高:
F 1 = 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 = \frac{2\cdot (Precision\cdot Recall)}{Precision+Recall} F1=Precision+Recall2⋅(Precision⋅Recall) - AUC是一个衡量模型的指标,当AUC趋近于1,说明该模型的分类效果越好;反之,若AUC趋近于0,说明该模型分类效果越差。一般在数据不平衡的情况下使用。(邮件、疾病、推荐)
- 精确率:是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例。
- 召回率:是指分类正确的正样本个数占真正的正样本个数的比例。F1是一个用来衡量Precision和Recall的一个指标,往往当F1很高时,Precision和Recall也很高。
- 精确率和召回率是极矛盾有统一的两个指标,为了提高精确率值,分类器需要尽量在“更有把握”时才把样本预测为正样本,但此时会因为过于保守而漏掉很多没有把握的正样本,导致召回率降低。
- 当为了提高召回率,那就会预测出更多的负样本,以找到更多的正样本,导致精确率降低,形成’宁错杀一百,不放过一个‘的现象。