news 2026/10/6 21:43:42

机器学习 - AUC-ROC 曲线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
机器学习 - AUC-ROC 曲线

摘要:AUC-ROC曲线是评估二分类模型性能的重要指标,通过绘制不同阈值下的真正例率(TPR)和假正例率(FPR)来反映模型区分能力。曲线下面积(AUC)值越大(1为完美分类器,0.5为随机分类),模型性能越好。该指标特别适用于数据不平衡场景,相比准确率能更全面评估模型。Python中可使用scikit-learn的roc_auc_score和roc_curve函数计算AUC值并绘制曲线,示例展示了在乳腺癌数据集上逻辑回归模型实现过程,最终得到0.9967的高AUC分数。

目录

机器学习 - AUC-ROC 曲线

什么是 AUC-ROC 曲线?

为什么 AUC-ROC 曲线很重要?

在 Python 中实现 AUC-ROC 曲线

示例代码

输出结果


机器学习 - AUC-ROC 曲线

AUC-ROC 曲线是机器学习中常用的性能指标,用于评估二分类模型的性能。它是在不同阈值下,以真正例率(TPR)为纵轴、假正例率(FPR)为横轴绘制的曲线。

什么是 AUC-ROC 曲线?

AUC-ROC 曲线是二分类模型在不同阈值下性能的图形化表示。其纵轴为真正例率(TPR),横轴为假正例率(FPR)。真正例率是模型正确识别出的实际正例占所有实际正例的比例,而假正例率是模型将实际负例错误分类为正例的比例。

AUC-ROC 曲线是评估二分类模型整体性能的有效指标,因为它考虑了不同阈值下真正例率(TPR)和假正例率(FPR)之间的权衡关系。曲线下面积(AUC)代表模型在所有可能阈值下的整体性能:完美的分类器 AUC 值为 1.0,而随机分类器的 AUC 值为 0.5。

为什么 AUC-ROC 曲线很重要?

AUC-ROC 曲线是机器学习中重要的性能指标,因为它能全面衡量模型区分正例和负例的能力。

该指标在数据不平衡(即某一类别的样本数量远多于另一类别)的场景下尤为实用。在这种情况下,仅用准确率评估模型性能并不合适,因为准确率会受多数类样本的占比影响而产生偏差。

而 AUC-ROC 曲线通过同时考虑真正例率(TPR)和假正例率(FPR),能更均衡地反映模型的性能。

在 Python 中实现 AUC-ROC 曲线

了解了 AUC-ROC 曲线的定义和重要性后,我们来看看如何在 Python 中实现它。我们将使用 Scikit-learn 库构建二分类模型并绘制 AUC-ROC 曲线。

首先,需要导入必要的库并加载数据集。本示例中,我们将使用 Scikit-learn 库中的乳腺癌数据集。

示例代码

import numpy as np import pandas as pd from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import roc_auc_score, roc_curve import matplotlib.pyplot as plt # 加载数据集 data = load_breast_cancer() X = data.data y = data.target # 将数据分为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 拟合逻辑回归模型 lr = LogisticRegression() lr.fit(X_train, y_train) # 对测试集进行预测(输出正例的概率) y_pred = lr.predict_proba(X_test)[:, 1] # 计算AUC-ROC分数 auc_roc = roc_auc_score(y_test, y_pred) print("AUC-ROC分数:", auc_roc) # 绘制ROC曲线 fpr, tpr, thresholds = roc_curve(y_test, y_pred) plt.plot(fpr, tpr) plt.title('ROC曲线') plt.xlabel('假正例率') plt.ylabel('真正例率') plt.show()

输出结果

运行上述代码后,会绘制出逻辑回归模型的 ROC 曲线,图形如下:(注:原文中图形坐标标注如下)纵轴(真正例率)范围:0.0 - 1.0横轴(假正例率)范围:0.0 - 1.0

同时,终端会输出 AUC-ROC 分数:AUC-ROC 分数: 0.9967245332459875

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/4 12:26:42

14.3 面试通关:云原生 DevOps 高频面试题解析与答题技巧

14.3 面试通关:云原生 DevOps 高频面试题解析与答题技巧 1. 引言:面试是技术能力的试金石 云原生 DevOps 岗位的面试通常包括: 技术面试:考察技术深度和广度 项目经验:考察实际项目经验 系统设计:考察架构设计能力 行为面试:考察沟通和协作能力 本节将解析高频面试题,…

作者头像 李华
网站建设 2026/10/5 5:43:47

2026必备!10个一键生成论文工具,专科生轻松搞定毕业论文!

2026必备!10个一键生成论文工具,专科生轻松搞定毕业论文! AI 工具的崛起,让论文写作不再难 随着人工智能技术的飞速发展,越来越多的专科生开始借助 AI 工具来提升论文写作效率。尤其是在当前 AIGC(人工智…

作者头像 李华
网站建设 2026/10/4 15:13:55

2026年AI测试平台性价比分析:软件测试从业者专业指南

引言:AI测试平台的崛起与行业背景 随着数字化转型加速,AI测试平台已成为软件测试的核心工具。2026年,AI测试工具从辅助角色升级为“数字协作伙伴”,深度参与测试全生命周期,包括环境搭建、用例生成、缺陷管理及CI/CD集…

作者头像 李华
网站建设 2026/10/5 14:57:35

智能体+RAG:大模型检索优化的完美结合

“ 不论是RAG,还是智能体都仅仅只是一门技术;而不同的业务场景需要选择合适的技术实现。” 最近这段时间一直在做一个RAG检索增强的系统,但由于前期对需求了解不足,导致目前系统开发遇到一些问题,那就是目前使用纯粹的…

作者头像 李华