AUC-ROC曲线评估分类模型性能
创作时间:
作者:
@小白创作中心
AUC-ROC曲线评估分类模型性能
引用
CSDN
1.
https://m.blog.csdn.net/2301_77444219/article/details/140108610
AUC-ROC曲线(Area Under the Curve - Receiver Operating Characteristic Curve)是评估分类模型性能的重要工具,特别是在处理二分类问题时。本文将从基本概念出发,通过Python代码演示如何使用决策树模型进行分类任务,并计算和绘制AUC-ROC曲线。
1. 简介
AUC-ROC曲线是一种评估分类模型性能的方法,特别是在二分类问题中。ROC曲线通过绘制不同阈值下真正例率(True Positive Rate, TPR)和假正例率(False Positive Rate, FPR)来展示模型的性能。它将真正例率(TPR,也称为召回率或灵敏度)作为y轴,假正例率(FPR,1 - 特异度)作为x轴。曲线下的面积(AUC)提供了模型整体性能的一个度量。本代码将使用决策树进行分类任务,并使用AUC-ROC曲线来评估模型的性能。
2. 计算方法
- y轴: 真正例率(TPR),即真实值为1的召回率。
- x轴: 假正例率(FPR),即真实值为0的预测错误的概率。
- AUC: AUC是ROC曲线下的面积,它表示模型的分类能力。AUC值的范围是0到1,值越高表示模型的分类性能越好。AUC值为0.5时,模型的性能不比随机猜测好;AUC值为1时,即TPR为1,FPR为0时,模型具有完美的分类能力。
3. 代码实现
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn import tree
from sklearn.metrics import roc_auc_score, roc_curve
import matplotlib.pyplot as plt
# 假设datas是已经加载的数据集
data = datas.iloc[:, :-1]
target = datas.iloc[:, -1]
# 划分训练集和测试集
data_train, data_test, target_train, target_test = train_test_split(data, target, test_size=0.2, random_state=60)
# 定义决策树模型
dtr = tree.DecisionTreeClassifier(criterion='gini', max_depth=6, random_state=42, max_leaf_nodes=10)
dtr.fit(data_train, target_train)
# 分类的性能评价
y_pred_proba = dtr.predict_proba(data_test)[:, 1]
auc_result = roc_auc_score(target_test, y_pred_proba)
# 绘制ROC-AUC曲线
fpr, tpr, thresholds = roc_curve(target_test, y_pred_proba)
plt.figure()
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % auc_result)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend()
plt.show()
这段代码首先加载数据集并将其划分为特征和目标变量,然后使用train_test_split
函数将数据集划分为训练集和测试集。接着,定义了一个决策树分类器并对其进行训练。通过predict_proba
方法获取测试集的预测概率,并计算AUC值。最后,使用roc_curve
函数计算ROC曲线上的点,并使用matplotlib绘制ROC曲线。
通过本文的介绍和代码示例,读者可以更好地理解AUC-ROC曲线的概念及其在实际应用中的计算方法,从而在机器学习项目中更有效地评估分类模型的性能。
热门推荐
经常吃这类食物,帮你减轻炎症,心血管、消化系统也变好了,可惜你却没吃对
细数香港黄金时代十大巨星,张曼玉垫底,榜首实至名归
汽车800V系统技术详解
图片批量裁剪:高效处理大量图像的实用指南
如何组织项目人员活动
车辆安全结构大揭秘,千万不要被刻板印象欺骗了!
养老保险相关问题解答:个人账户余额处理、企业缴费用途及补缴规定
新手必看!垂钓入门全攻略:从装备到爆护的5大核心技巧
全铝阳台柜选购全攻略:50年不生锈的选购秘诀
燃气灶不打火的原因及解决方法(为什么燃气灶没有火花)
春日攻略:氛围感拉满,江南水乡的浪漫等你来撩!
普洱茶采摘时间与收获季节(探究普洱茶的生命力与传承)
锂电池与锂离子电池:哪种适合您?
血糖高去医院挂什么科
虾有哪些做法?虾界盛宴!解锁九大虾料理,让您吃出新天地!
贵州旅游十大景点排名,必去的网红景点(附最佳季节/时间)
深圳大学总医院十二项创新举措提升患者就医体验
自动挡的 L 档、M 档、S 档、OD 档有什么用?
发现翡翠中的绿色奥秘:从颜色成因到价值评估
洛阳老城十字街美食全攻略:从传统小吃到特色饮品
抑郁症出现自残怎么治疗
心电传感器:原理、应用与供应商
深入解析RNA聚合酶II的转录调控:分子机制与生物医学应用
如何看待楼房顶楼的居住情况?顶楼居住的优缺点是什么?
证据的合法性是什么
基于大数据的热点新闻舆情监测与预警系统设计
旅游包车如何选择合适的车型?2025年全场景选车指南
学习抓龙筋的具体步骤和图示
性格内向的人适合做什么职业?这份指南请收好
伪音技艺:解锁互联网娱乐新领域的声音密码