在不使用任何 Numpy 或 Sklearn 库的情况下手动计算 AUC

Calculate AUC manually without using any Numpy or Sklearn library

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

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

下图

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

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

现在我不确定如何找到 hi, wi。我认为我没有做高中数学所需的所有数据。我错过了什么吗?

(x1, y1)(x2, y2) 下方的区域(垂直下方,而不是 "diagonaly",就像您试图计算的那样)很简单:

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

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

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

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