参考
- AUC的计算方法
- AUC计算方法与Python实现代码
- 百面机器学习127页
1.使用概率定义计算auc
1.1计算公式推导
AUC的概率定义如下
(式0)
博文1描述了两种计算auc的方法,分别为式1和式2,式2计算效率较高,但是解释的不够清楚。
(式1)
(式2)
式2中各参数意义如下:
- M为正样本数量,N为负样本数量。
- r a n k i rank_i ranki为第i条样本序号。将所有样本按照预测得分升序排列,预测分最小的序号为1,预测分最大的序号为T=M+N。式1分子的求和部分,表示将所有正样本的序号求和。
- 对预测得分相同的多条样本,序号要取原始序号的平均值。
假设第1大的正样本序号为 r a n k a 1 rank_{a1} ranka1,则预测得分比它小的样本有 r a n k a 1 − 1 rank_{a1}-1 ranka1−1个,其中包含了M-1个正样本,因此预测得分比它小的负样本个数为 n 1 = r a n k a 1 − M n_1=rank_{a1}-M n1=ranka1−M。
假设第i大的正样本序号为 r a n k a i rank_{ai} rankai,同理可得预测得分比它小的负样本个数为