【问题标题】:Calculate AUC manually without using any Numpy or Sklearn library不使用任何 Numpy 或 Sklearn 库手动计算 AUC
【发布时间】:2019-05-05 07:33:45
【问题描述】:

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

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

下图

没有使用任何 sklearn 库,我知道我需要在下面找到

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

现在我不知道如何找到你好,wi。我认为我没有所有必要的数据来做高中数学。我错过了什么吗?

【问题讨论】:

  • 您似乎正在尝试通过梯形规则的一些修改版本来计算两条曲线之间的面积,即沿着顶部的分段线性函数和红色虚线之间的面积。您要做的是计算分段曲线相对于水平轴的面积,因此所有蓝线都是真正的垂直线。如果确实需要它们之间的区域,可以在最后减去虚线三角形下方的简单区域。

标签: python machine-learning auc


【解决方案1】:

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

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

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

通常 AUC 包含右下半部分的区域(红色虚线下方),但如果您需要取消它,只需在最终结果中减去 1/2

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

【讨论】:

    猜你喜欢
    • 2021-04-21
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 2017-05-22
    • 1970-01-01
    • 2017-01-03
    相关资源
    最近更新 更多