无需使用任何numpy或sklearn库手动计算AUC

问题描述 投票:0回答:2

I给出了一组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)

现在我不确定如何找到hi,wi。我认为我没有所有必要的数据来进行高中数学。我想念什么吗?

python machine-learning auc
2个回答
3
投票

(x1, y1)

(x2, y2)
(如下垂直下,不是像您似乎尝试计算的“对角”的区域)简直就是:

(x2 - x1) * (y1 + y2) / 2
然后,您可以将其推广到其他连续索引,并将所有术语添加到
for

循环中。

通常,AUC包含右下半部分的面积(在红色虚线下方),但是如果您需要取下它,只需将其减去最终结果。

您可能还需要考虑边缘案例...不确定您应该在

1/2

0
之间以及

x0

之间的各个部分之前考虑如何考虑。 和

xn
...
    
theight(
ℎ
𝑖
h
我

):每个梯形的高度可以解释为两个y值的平均值(因为梯形由这些值和x轴界定)。为了
𝑖
第三梯形,我们可以将其计算为:
ℎ
𝑖

𝑦 𝑖 + 𝑦 𝑖 - 1 2 h 我

0
投票
2 y 我 +y i -1

wwidth( 𝑤 𝑖 w 我 ):宽度仅仅是点的x配位之间的差异:

𝑤 𝑖

𝑥 𝑖 - 𝑥 𝑖 - 1 w 我 = x 我 -x i -1

地区计算: 最后,AUC(所有梯形区域的总和)由以下方式给出:

𝐴 𝑈 𝐶

∑ 𝑖

1 𝑛 ℎ 𝑖 走为 𝑤 𝑖 auc = i = 1 ∑ n h 我 走为 我

每个地方 ℎ 𝑖 h 我 是y值的平均值 𝑖 我 - 和 (( 𝑖 - 1 ) (i-1)-th点, 𝑤 𝑖 w 我 是连续X坐标之间的距离。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.