分类器常见的评价指标

CTR

CTR又称广告点击率,英文名(click through rate)
计算公式为:
C T R = c l i c k 次 数 i m p r e s s i o n 次 数 CTR=\frac{click次数}{impression次数} CTR=impressionclick
CTR预估的最终目标就是epcm,每千次展示的期望收益

评价指标

logloss

当我们用一个概率值预测一个事件是真(1)还是假(0),我们是logloss这个错误度量,评判这个模型的好坏
公式:
l o g l o s s = − 1 N ∑ i = 1 N ( y i l o g ( p i ) + ( 1 − y i ) l o g ( 1 − p i ) ) logloss=-\frac{1}{N}\sum_{i=1}^{N}(y_ilog(p_i)+(1-y_i)log(1-p_i)) logloss=N1i=1N(yilog(pi)+(1yi)log(1pi))
这个衡量标准也可以由另外一个数学公式推导得到—KL距离
KL距离,又称相对熵,它衡量的是相同时间空间里的两个分布概率的差异情况
D ( p ∣ q ) = ∑ i p ( x ) l o g p ( x ) q ( x ) D(p|q)=\sum_ip(x)log\frac{p(x)}{q(x)} D(pq)=ip(x)logq(x)p(x)
对学习的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量。

查准率、查全率与F1

对于二分类问题,可将样例根据真实值和预测值组合,划分成四种形式,真正例(true positive)、假正例(false positive)、真反例(true negative)和假反例(false negative)
分类结果的混淆矩阵,如下

分类真实值:1真实值:0
预测值:1TP(True Positive)FP(False Positive)
预测值:0FN(False Negative)TN(True Negative)

查准率 P P P的定义是:
P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
查全率 R R R的定义是:
P = T P T P + F N P=\frac{TP}{TP+FN} P=TP+FNTP
查准率和查全率是一对矛盾的度量
F 1 F1 F1被认为是基于查准率和查全率的调和平均
1 F 1 = 1 2 ( 1 P + 1 R ) \frac{1}{F1}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R}) F11=21(P1+R1)

ROC

Receiver Operating Characteristic
ROC曲线的坐标,纵坐标为真正例率(True Positive Rate,TPR),横坐标为假正例率(False Positive Rate,FPR)
定义如下:
T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP
F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP
如何绘制ROC曲线?
我们按照预测结果对样例进行排序,按照顺序逐个把样本作为正例进行预测,每次计算出这两个重要的值,分别以它们的横纵坐标作图。

二分类问题

真实值model1model2
010
101
111
110
000
010
110

由上表可以得知:
model1

二分类真实值:1真实值:0
预测值:13(TP)2(FP)
预测值:01(FN)1(TN)

model2

二分类真实值:1真实值:0
预测值:12(TP)0(FP)
预测值:02(FN)3(TN)

横纵坐标

二分类模型1模型2
FP rate2/30
TP rate3/41/2

图形可以画出
这里写图片描述
模型越靠近 y y y上测说明效果越好,所以model2的效果要好于model1

AUC

CTR是一个二分类问题,不同的域值有不同的结果,按照预测值进行排序

真实值预测值
10.09
10.08
00.07
10.06
10.055
10.054
00.053
00.052
10.051

按照预测值大小,依次作为域值,求解FP rate和TP rate

域值TP rateFP rate
0.091/60
0.081/30
0.071/31/3
0.061/21/3
0.0552/31/3
0.0545/61/3
0.0535/62/3
0.0525/61
0.05111

按照上图的信息可以画出ROC曲线
这里写图片描述
曲线下的面积被称为AOC
AOC的意义:衡量正样本排在负样本前面的能力,这里的能力更具体一点就是出现的概率。与域值的选取没有关系。

示例代码

# 二分类
y_pred_score = lr.predict_proba(X_test)
from sklearn.metrics import classification_report, roc_curve
fpr, tpr, thresholds = roc_curve(y_test, y_pred_score[:,1])
auc(fpr, tpr)

混淆矩阵

对于多分类的相关问题,常用的评价标准是混淆矩阵
如果分成 n n n个类别的话,混淆矩阵的形式是一个 n ∗ n n*n nn的一个矩阵,具体的形式如下

labellabelPredicted classPredicted classPredicted class
DogCatRobbit
Actual classDog520
Actual classCat332
Actual classRobbit0111

上图中每一列代表预测的类别,每一行代表真实的类别的归属,第二行cat的总数量为8,表示类cat总共有8个样本,其中3个分类正确,3个被错误的分到了dog,2个被错误的分到了robbit。
如果计算cat的准确率计算公式如下:

P r e c i s i o n ( C a t ) = 3 2 + 3 + 1 Precision(Cat) = \frac{3}{2+3+1} Precision(Cat)=2+3+13

scikit-learn中有相关的计算函数可以直接调用

>>> from sklearn.metrics import confusion_matrix
>>> y_true = [2, 0, 2, 2, 0, 1]
>>> y_pred = [0, 0, 2, 2, 0, 2]
>>> confusion_matrix(y_true, y_pred)
array([[2, 0, 0],
       [0, 0, 1],
       [1, 0, 2]])

参考资料:
1、https://www.kaggle.com/wiki/LogarithmicLoss
2、 李航《统计学习方法》清华大学出版社
3、周志华 《机器学习》 清华大学出版社
4、https://en.wikipedia.org/wiki/Confusion_matrix
5、http://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html

深度学习分类模型的评价指标通常用于衡量模型在预测任务中的性能,这些指标可以帮助我们了解模型的准确性和稳定性。常见的深度学习分类模型评价指标有: 1. 准确率 (Accuracy):这是最直观的指标,表示模型正确分类的样本数占总样本数的比例。 2. 精确率 (Precision):衡量模型预测为正例中实际为正例的比例,对于关注假阳性的场景(如医疗诊断)很重要。 3. 召回率 (Recall):衡量实际为正例中被模型正确识别为正例的比例,对于关注假阴性的场景(如欺诈检测)重要。 4. F1分数 (F1 Score):综合了精确率和召回率,是二者的调和平均值,用于平衡精度和召回率。 5. AUC-ROC (Area Under the Receiver Operating Characteristic Curve):ROC曲线下的面积,用来衡量分类器在不同阈值下的整体性能,尤其适合不平衡数据集。 6. 混淆矩阵 (Confusion Matrix):展示模型预测结果的真实类别和预测类别之间的关系,直观显示了真阳性、真阴性、假阳性和假阴性。 7. 对数损失 (Log Loss, Logarithmic Loss):常用于衡量预测概率的准确性,特别是在二分类问题中。 8. Top-k准确率:当k大于1时,如果模型将前k个预测分类中的正确类别包含在内,就算作一次正确。 选择哪个指标取决于具体的应用场景和需求,例如,如果数据极度不平衡,可能更重视召回率而不是准确率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值