当前位置: 首页 > 面试题库 >

AUC究竟在衡量模型什么能力?代码实现

茹建茗
2023-03-14
本文向大家介绍AUC究竟在衡量模型什么能力?代码实现相关面试题,主要包含被问及AUC究竟在衡量模型什么能力?代码实现时的应答技巧和注意事项,需要的朋友参考一下

当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。

它不受类别不平衡问题的影响,不同的样本比例不会影响AUC的评测结果

 

#author: wepon
def naive_auc(labels,preds):
    """
    最简单粗暴的方法
   先排序,然后统计有多少正负样本对满足:正样本预测值>负样本预测值, 再除以总的正负样本对个数
     复杂度 O(NlogN), N为样本数
    """
    n_pos = sum(labels)
    n_neg = len(labels) - n_pos
    total_pair = n_pos * n_neg
    
labels_preds = zip(labels,preds)
labels_preds = sorted(labels_preds,key=lambda x:x[1])
accumulated_neg = 0
satisfied_pair = 0
for i in range(len(labels_preds)):
    if labels_preds[i][0] == 1:
        satisfied_pair += accumulated_neg
    else:
        accumulated_neg += 1
 
return satisfied_pair / float(total_pair)

 

 类似资料:
  • 问题内容: 我有一些代码来计算圆的属性: 它计算周长,但不计算其余部分。 问题答案: 是一个,也一个,这意味着不能在第二个打印语句中使用。试试那里。 回想一下,这是浮点数,而整数。在的文档中对此进行了概述(请参阅“ 格式化字符串语法”)。

  • 问题内容: 我遇到了使用方法的一段代码。不知道这叫什么,我很难找到它。 这是我尝试了解的内容: 结果: 但是,我认为这是在运行时发生的,它会告诉编译器确实是一个字符串,并且可以用来告诉编译器变量是某种类型的。我的理解正确吗? 游乐场 问题答案: 被称为 类型断言 。如 有效围棋中所述 : 类型断言采用接口值并从中提取指定的显式类型的值。 因此,是的,您从类型断言中获得的值不是接口值,而是显式类型。

  • 问题内容: 设置或设置为弹性项目而不是设置之间有区别吗? 是属性的“转折点” 吗? 当我设置浏览器时,如何确定将项目下移到新行的哪一点?是根据他们的宽度还是“弹性基础”? 示例:最后两个框具有相同的功能,但是当窗口在300px至400px之间时, 只有 其中一个向下移动。为什么? 问题答案: 允许您在计算其他任何内容之前指定元素的初始/开始大小。它可以是百分比或绝对值。 但是,它 不是 弯曲增长/

  • 问题内容: 我在jquery图像滑块演示中找到了reset.css文件,但它从未包含在主index.html文件中。应该做什么,更重要的是,您将它放在哪里?你把它之前 任何引用的样式表()? 这是reset.css内部的代码 问题答案: 最初,关于样式的工作方式还没有标准化,每个浏览器都实现了自己认为正确的方式。您在IE中看到太多有关样式错误的问题的原因之一是,因为IE是样式方面与其他浏览器最不相

  • 内部构造函数的准确定义是什么?在Julia-V0.6+中,“任何可以使用签名(注意部分)调用的构造函数都是内部构造函数”是正确的吗? 正如下面的注释中所讨论的,仅限于外部的构造函数实际上是吗? 使用检查方法是否是内部/外部构造函数是否正确? Julia自动定义的默认构造函数与用户显式定义的相应构造函数有什么不同? 顺便说一句,我知道如何使用以及何时使用内部构造函数。我知道什么是内部构造函数,直到只

  • 问题内容: 在Heinz Kabutz的时事通讯上的最后一期#255 Java 10:推断的局部变量中 ,它在Java 10中不是保留字,因为您还可以将其用作标识符: 但是,不能将ie 用作标识符,如中的,因为它是保留字。 正如在链接的新闻通讯中所讲的那样,不是保留字的事实是个好消息,因为这允许来自Java早期版本的用作标识符的代码得以编译而在Java 10中没有问题。 那么,那是什么?它既不是语