机器学习评价指标AUC计算公式

1.什么是AUC?

AUC(are under curve)是一个模型的评价指标,用于分类任务。
那么这个指标代表什么呢?这个指标想表达的含义,简单来说其实就是随机抽出一对样本(一个正样本,一个负样本),然后用训练得到的分类器来对这两个样本进行预测,预测得到正样本的概率大于负样本概率的概率。
在这里插入图片描述

2.如何计算AUC?

方法一

在有M个正样本,N个负样本的数据集里。一共有MN对样本(一对样本即,一个正样本与一个负样本)。统计这MN对样本里,正样本的预测概率大于负样本的预测概率的个数。
在这里插入图片描述
在这里插入图片描述
这里第一个条件应该为P(正样本)>P(负样本)。
举例:
在这里插入图片描述
假设有4条样本。2个正样本,2个负样本,那么M*N=4。即总共有4个样本对。分别是:
(D,B),(D,A),(C,B),(C,A)。
在(D,B)样本对中,正样本D预测的概率大于负样本B预测的概率(也就是D的得分比B高),记为1
同理,对于(C,B)。正样本C预测的概率小于负样本C预测的概率,记为0.
最后可以算得,总共有3个符合正样本得分高于负样本得分,故最后的AUC为 1 + 1 + 1 + 0 4 = 0.75 \frac{1+1+1+0}{4}=0.75 41+1+1+0=0.75
在这个案例里,没有出现得分一致的情况,假如出现得分一致的时候,例如:
在这里插入图片描述
同样本是4个样本对,对于样本对(C,B)其I值为0.5。最后的AUC为 1 + 1 + 1 + 0.5 4 = 0.875 \frac{1+1+1+0.5}{4}=0.875 41+1+1+0.5=0.875

方法二

在这里插入图片描述
这个公式看起来有点吓人,其实就是先对预测概率进行排序,然后对正样本的序号相加,减去后面的常数项,最后除以M*N。
r a n k i n s i rank_{ins_i} rankinsi:代表第i条样本的序号。(概率得分从小到大排,排在第rank个位置)。
∑ \sum 代表对属于正样本的序号加和。

同样的,我们用上面的例子。
在这里插入图片描述
将这个例子排序。按概率排序后得到:
在这里插入图片描述
按照上面的公式,只把正样本的序号加起来也就是只把样本C,D的rank值加起来后减去一个常数项 M ( M + 1 ) 2 \frac{M(M+1)}{2} 2M(M+1),即 ( 4 + 2 ) − 2 ∗ ( 2 + 1 ) 2 2 ∗ 2 = 6 − 3 4 0.75 \frac{(4+2)-\frac{2*(2+1)}{2}}{2*2}=\frac{6-3}{4}0.75 22(4+2)22(2+1)=4630.75。这个答案和我们上面所计算的是一样的。

这个时候,我们有个问题,假如出现得分一致的情况怎么办?下面举一个例子说明:
在这里插入图片描述
在这个例子中,我们有4个取值概率为0.5,而且既有正样本也有负样本的情况。计算的时候,其实原则就是相等得分的rank取平均值。具体来说如下:
先排序:
在这里插入图片描述
这里需要注意的是:相等概率得分的样本,无论正负,谁在前,谁在后无所谓。
由于只考虑正样本的rank值:
对于正样本A,其rank值为7
对于正样本B,其rank值为6
对于正样本E,其rank值为(5+4+3+2)/4
对于正样本F,其rank值为(5+4+3+2)/4
最后我们得到:
在这里插入图片描述

Pyspark是Apache Spark的一个Python接口,它在大规模数据处理中广泛用于机器学习。对于二分类模型的评价指标,主要有以下几个: 1. **准确率(Accuracy)**:预测正确的样本数占总样本数的比例,是最直观的评估指标。公式为:(TP + TN) / (TP + TN + FP + FN),其中TP(True Positive)表示真正例,TN(True Negative)表示真负例,FP(False Positive)表示假正例,FN(False Negative)表示假负例。 2. **精确率(Precision)**:模型预测为正例且实际为正例的比例,衡量的是模型在预测为正类时的可靠性。公式为:TP / (TP + FP)。 3. **召回率(Recall)**:实际为正例被模型正确预测为正例的比例,衡量的是模型找到所有正例的能力。公式为:TP / (TP + FN)。 4. **F1分数(F1 Score)**:精确率和召回率的调和平均值,综合考虑了两个指标。公式为:2 * Precision * Recall / (Precision + Recall)。 5. **ROC曲线(Receiver Operating Characteristic Curve)**:绘制出真正例率(TPR)与假正例率(FPR)之间的关系,用来评估模型在不同阈值下的性能。 6. **AUC-ROC(Area Under the ROC Curve)**:ROC曲线下的面积,值越大说明模型性能越好,1代表完美分类。 7. **混淆矩阵(Confusion Matrix)**:展示模型预测结果与实际结果的对比,直观地看到分类效果。 8. **交叉验证得分(Cross-validation Score)**:通过将数据集划分为训练集和验证集多次,计算平均得分,避免过拟合或欠拟合的影响。 在选择指标时,需要根据具体业务场景和需求来决定,比如关注模型的准确性、误报率还是查全率等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值