手动计算AUC,无需使用任何Numpy或Sklearn库

时间:2018-12-03 23:13:36

标签: python machine-learning auc

我给了一组X,Y坐标,我需要使用梯形公式找到AUC,而无需使用任何numpy或sklearn库。

(x0,y0) is always (0,0)
(xn,yn) is always (1,1)

下图

enter image description here

不使用任何sklearn库,我了解我需要在下面找到

hi = ?
wi= ?
AUC = sum (hi * wi)

现在我不确定如何找到嗨。我认为我没有掌握高中数学所需的所有必要数据。我想念什么吗?

1 个答案:

答案 0 :(得分:1)

(x1, y1)(x2, y2)下方的区域(如垂直下方,而不是您似乎想计算的“对角线”区域)很简单:

(x2 - x1) * (y1 + y2) / 2 

然后可以将其推广到其他连续索引,并使用for循环添加所有术语。

通常,AUC包含右下半部分的区域(在红色虚线下方),但是如果您需要将其去除,只需将1/2减去最终结果即可。

您可能还需要考虑边缘情况……不确定在0x0之间以及xn之间的部分之前应该如何考虑  和1 ...