分类模型的评价指标
- 首先区分几个基本概念:
- TP(True Positives):预测为正样本,实际上也为正样本的样本数;
- FP(False Positives):预测为正样本,实际上为负样本的样本数;
- TN(True Negatives):预测为负样本,实际上也为负样本的样本数;
- FN(False Negatives):预测为负样本,实际上为正样本的样本数。
通过下面的图片可以直观的理解这几个概念。
- 准确率(Accuracy)。所有预测正确的样本占总样本的比例。
A c c u r a c y = T P + T N T P + F P + T N + F N Accuracy=\frac{TP+TN}{TP+FP+TN+FN} Accuracy=TP+FP+TN+FNTP+TN - 精确率(Precision)。正确的预测为正的样本占所有预测为正的样本的比例。
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP - TPR(True Positive Rate)。正确预测为正的样本占所有正样本的比例,即在所有真实正样本中被正确分类的样本比例。
T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP - FPR(False Positive Rate)。错误预测为正的样本占所有负样本的比例,即在所有负样本中被错误分类的比例。
F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP - 召回率(Recall)。
R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP
知道了TPR和FPR的概念后,就很容易得到ROC(Receiver operating characteristic)曲线,ROC曲线是以TPR为纵坐标,以FPR为横坐标形成的曲线,如下图所示。
图中由ROC曲线包围的面积称为AUC(Area under the ROC Curve)。AUC的值介于0和1之间,可以等于0或者1,AUC的值越大表示模型的分类效果越好。
这是一个很好的ROC曲线的解释:Understanding ROC curves
- Log loss
Log loss又称作 logistic regression loss 或者 cross-entropy loss,Sklearn中使用自然对处e为底。对于二分类问题,样本真实标签 y ∈ { − 1 , 1 } y\in\{-1,1\} y∈{ −1,1}