I给出了一组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)
(如下垂直下,不是像您似乎尝试计算的“对角”的区域)简直就是:
(x2 - x1) * (y1 + y2) / 2
然后,您可以将其推广到其他连续索引,并将所有术语添加到
for
循环中。
通常,AUC包含右下半部分的面积(在红色虚线下方),但是如果您需要取下它,只需将其减去最终结果。您可能还需要考虑边缘案例...不确定您应该在
1/2
和
0
之间以及x0
之间的各个部分之前考虑如何考虑。 和
xn
...theight( ℎ 𝑖 h 我 ):每个梯形的高度可以解释为两个y值的平均值(因为梯形由这些值和x轴界定)。为了 𝑖 第三梯形,我们可以将其计算为:
ℎ 𝑖𝑦 𝑖 + 𝑦 𝑖 - 1 2 h 我
𝑥 𝑖 - 𝑥 𝑖 - 1 w 我 = x 我 -x i -1
地区计算: 最后,AUC(所有梯形区域的总和)由以下方式给出:
𝐴 𝑈 𝐶
1 𝑛 ℎ 𝑖 走为 𝑤 𝑖 auc = i = 1 ∑ n h 我 走为 我
每个地方 ℎ 𝑖 h 我 是y值的平均值 𝑖 我 - 和 (( 𝑖 - 1 ) (i-1)-th点, 𝑤 𝑖 w 我 是连续X坐标之间的距离。