在不使用任何 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
减去最终结果即可。
而且您可能还需要考虑边缘情况...不确定在 0
和 x0
之间以及 xn
之间的部分之前应该如何考虑
和 1
...
我已经给出了一组 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
减去最终结果即可。
而且您可能还需要考虑边缘情况...不确定在 0
和 x0
之间以及 xn
之间的部分之前应该如何考虑
和 1
...