AUC和ROC

AUC(Area Under Curve)是ROC曲线下的面积,介于0.5和1之间,用于评价分类器性能。AUC值越大,分类器将正样本排在负样本前面的概率越高,分类效果越好。FPR(False Positive Rate)代表负样本被误分类为正样本的概率,TPR(True Positive Rate)代表正样本被正确分类的概率。AUC通过ROC曲线下的面积量化模型效果,面积越大,模型效果越好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。

这句话有些绕,我尝试解释一下:首先AUC值是一个概率值,当你随机挑选一个正样本以及一个负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值。当然,AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。

介绍auc和roc之前需要了解fpr和tpr
根据我的通俗理解fpr就是负样本分到正样本中的概率,通常在auc和roc曲线中用横轴来表示
tpr就是正样本分到正样本中的概率,通常在auc和roc曲线中用纵轴来表示
auc是针对分类模型进行的评估,是用曲线下面的面积来判别的,当面积越大,说明模型的效果是越好的
代码示例

>>> import numpy as np
>>> from sklearn import metrics
>>> y = np.array([1, 1, 2, 2])
>>> scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
>>> fpr # 这是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值