机器学习中常用的概念:ROC曲线和AUC值,到底是什么?

1.关于ROC曲线的概念

ROC曲线和AUC值是评价分类监督学习性能的重要量度指标。ROC曲线又被称为"接受者操作特征曲线""等感受性曲线",主要用于预测准确率情况。最初ROC曲线运用在军事上,现在广泛应用在各个领域,比如判断某种因素对于某种疾病的诊断是否有诊断价值。曲线上各点反映着相同的感受性,它们都是对同一信号刺激的反映,只不过是在几种不同的判定标准下所得的结果而已。

ROC曲线如图所示,是在以虚惊概率(又被称为假阳性率、误报率,图中为"1-特异性")为横轴,以击中概率(又被称为敏感度、真阳性率,图中为"敏感度")为纵轴所组成的坐标图中,以被试者在特定刺激条件下由于采用不同的判断标准得出的不同结果画出的曲线。虚惊概率越接近零,且击中概率越接近1,代表准确率越好。

2.关于ROC曲线的解读

对于一条特定的ROC曲线来说,ROC曲线的曲率反映敏感性指标是恒定的,所以它也叫作等感受性曲线。对角线(图中为直线)代表辨别力等于0的一条线,也叫作纯机遇线。ROC曲线离纯机遇线越远,表明模型的辨别力越强。辨别力不同的模型的ROC曲线也不同。

当一条ROC曲线X能够完全包住另一条ROC曲线Y时,也就是对于任意既定特异性水平,曲线X在敏感度上的预测表现都能够大于或等于Y,那么就可以说该曲线X能够全面优于曲线Y。而如果两条曲线有交叉,则无法做出如此推断,这两条曲线根据要求的击中概率的不同而各有优劣。

比如根据既定的研究需要,将要求的击中概率选择为0.7(对应图5.50中纵轴0.7处)时,违约概率为"是"的ROC曲线误报概率要显著高于违约概率为"否"的ROC曲线(体现在违约概率为"是"的ROC曲线横轴对应点在违约概率为"否"的ROC曲线横轴对应点的右侧)。

又比如根据既定的研究需要,将要求的击中概率选择为0.9(对应图5.50中纵轴0.9处)时,违约概率为"是"的ROC曲线误报概率要显著低于违约概率为"否"的ROC曲线(体现在违约概率为"是"的ROC曲线横轴对应点在违约概率为"否"的ROC曲线横轴对应点的左侧)。

3.关于AUC值的概念

ROC曲线下方的区域面积又被称为AUC值,是ROC曲线的数字摘要,取值范围一般为0.5~1。使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰地说明哪个模型的效果更好,而作为一个数值,对应AUC值更大的模型预测效果更好。

4.关于AUC值的解读

l 当AUC=1时,是完美模型,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合不存在完美模型。

l 当0.5 < AUC < 1时,优于随机猜测。这个模型妥善设置阈值的话能有预测价值。

l 当AUC = 0.5时,跟随机猜测一样,模型没有预测价值。

l 当AUC < 0.5时,比随机猜测还差,但只要总是反预测而行,就会优于随机猜测。

以上内容节选自《Python数据科学应用从入门到精通》(张甜 杨维忠 著 2023年11月新书 清华大学出版社)。

5.机器学习通过Python或SPSS的实现及其优缺点

机器学习在实务中都是通过Python编程语言(R语言也常用)或SPSS等统计分析软件来实现的,而不需要自己去计算。用Python开展机器学习,基本上就是学会调用相应的模块(使用import语句或from...import语句导入模块),然后合理设置相应参数,会对运行结果进行解读,就可以了。用SPSS等统计分析软件开展机器学习,基本上就是会操作相关的菜单,在对话框中进行合理设置,会对运行结果进行解读,就可以了。

用Python编程语言的好处是:1.非常灵活,可以实现很多很多机器学习算法(理论上只要有可调用的模块就可以);2.免费开源,用户众多,不用花钱,遇到问题可以在网上一搜,往往就可以找打答案;3.学习的延展性好,Python除了可以用来进行机器学习,还可以进行爬虫、开发游戏、实现办公自动化等,实现一学多用。缺点在于:因为没有专业公司运营,所以在安装、调用等各个环节,很容易出错,而且不同的模块的版本之间很多时候出现升级不兼容等问题,需要一定的程序调试能力。

用SPSS统计分析软件也可以开展机器学习,其中包括多层感知器、径向基函数、神经网络、决策树、判别分析、线性回归、logistic回归、聚类分析、ROC曲线等很多种方法。其优势在于:1.操作更为简单,只需要点点鼠标操作菜单,在对话框中设定选项,输入参数就可以;2.由于是由SPSS公司专业运营所以基本上不会有bug,不需要任何编程和程序调试能力;3.SPSS不仅可以用于机器学习,还可以用来进行统计分析,不仅可以搞应用还可以搞学术。缺点在于:1.方法不全,没有随机森林、支持向量机、提升法等较为常用的机器学习算法;2.不够灵活,无法根据实际研究需要向编程语言那样做到"量身定制";3.正版软件需要收费,对于很多用户来说比较昂贵。

根据我多年的教学经验,大家无论是学数据分析中的机器学习还是 统计学 计量经济学,都建议结合着具体的软件或 编程语言来学,对于不想走纯科研路线或者想成为理论大牛的大多数朋友来说,不建议过多研究数学公式,而是应一边学习知识原理,一遍上手操作,不然就会在复杂的 数学公式推导面前耗尽了所有的学习热情。

6.Python机器学习用书推荐

如果是用Python编程语言,针对数据分析或机器学习推荐两本入门级的图书:《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社)《Python数据科学应用从入门到精通》(张甜 杨维忠 著 2023年11月新书 清华大学出版社)。这两本书的特色是在数据分析、机器学习各种算法的介绍方面通俗易懂,较少涉及数学推导,对 数学基础要求相对不高,在python代码方面讲的很细致,看了以后根据自身需要选取算法、优化代码、科学调参。

《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社) 内容非常详实,包含了Python和机器学习,相当于一次获得了两本书。在讲解各类机器学习算法时,逐一详解用到的各种Python代码,针对每行代码均有恰当注释(这一点基本上是大多数书目做不到的)。《Python机器学习原理与算法实现》 一书创作完成后,在正式出版之前,已经开发成一套系统课程,分9次授课,在某全国性 股份制商业银行内部开展了培训,490人根据行内组织统一学习,授课完成后放在 知鸟平台供回放学习,9次课程累计回放量近3万次,得到参训学员的一致好评,广泛应用于各位学员的工作实践。(所以,这是一本避雷避坑、已经被亲测可行的网红书,只要用心学,都没问题哦)

《Python机器学习原理与算法实现》(杨维忠 张甜 著 2023年2月新书 清华大学出版社)

**《Python数据科学应用从入门到精通》一书,旨在教会读者实现全流程的数据分析,并且相对《Python机器学习原理与算法实现》一书增加了很多概念性、科普性的内容,进一步降低了学习难度。**国务院发展研究中心创新发展研究部第二研究室主任杨超 ,山东大学经济学院金融系党支部书记、副主任、副教授、硕士生导师张博,山东管理学院信息工程学院院长 袁锋 教授、硕士生导师,山东大学经济学院 刘一鸣 副研究员、硕士生导师,得厚投资合伙人 张伟民等一众大牛联袂推荐。全书内容共分13章。其中第1章为数据科学应用概述,第2章讲解Python的入门基础知识,第3章讲解数据清洗。第4~6章介绍特征工程,包括特征选择、特征处理、特征提取。第7章介绍数据可视化。第8~13章介绍6种数据挖掘与建模方法,分别为线性回归、Logistic回归、决策树、随机森林、神经网络、RFM分析。从数据科学应用和Python的入门,再到数据清洗与特征工程,最终完成数据挖掘与建模或数据可视化,从而可以为读者提供"从拿到数据开始,一直到构建形成最终模型或可视化报告成果"的一站式、全流程指导。买这一本书相当于一下子得到了5本书(Python基础、数据清洗、特征工程、数据可视化、数据挖掘与建模),入门超级简单,不需要编程基础,也不需要过多数学推导,非常适用于零基础学生。

两本书随书赠送的学习资料也很多,包括全部的源代码、PPT、 思维导图,还有10小时以上的讲解视频,每一章后面还有练习题及参考答案,还有学习群,相对于只看网络上的视频,一方面更加系统、高效,另一方面照着书一步步操作学起来也事半功倍。全网热销中,当当、京东等平台搜索"Python机器学习 杨维忠""Python数据科学 杨维忠"即可。

7.SPSS机器学习用书推荐

关于SPSS的机器学习、商用建模与综合案例应用,推荐学习杨维忠、张甜编著,清华大学出版社出版的《SPSS统计分析商用建模与综合案例精解》。

全书共12章,第1章为SPSS操作快速入门,旨在告诉读者SPSS软件启动与关闭,数据编辑录入、数据读取、数据排序、缺失值处理、数据查找、数据合并等对数据的基础操作,教会读者如何使用SPSS处理数据。第2章为SPSS建模技术要点介绍,旨在告诉读者SPSS中的各类建模技术方法,建模中的注意事项,建模中的常见误区、需要遵循的价值导向,以及完整的研究方案设计要点等。第3章为SPSS在电子商务平台商户营销中的应用,讲解如何使用SPSS的直销模块来进行建模,以便应用到电子商务平台商户营销中。第4章为商业银行授信客户信用风险评估,讲解如何使用SPSS软件的神经网络-多层感知器,应用到商业银行授信客户信用风险评估领域。第5章为在线旅游供应商客户分类建模技术模块,讲解如何使用SPSS软件的神经网络-径向基函数,以便应用到在线旅游供应商客户分类中。第6章为小额快贷大数据审批建模技术模块,讲解如何使用SPSS软件的决策树模块,应用到小额快贷大数据审批中。第7章为汽车消费市场调研建模技术,讲解如何使用SPSS软件的联合分析模块和交叉表分析模块,应用到汽车消费市场调研中。第8章为住宅小区订奶量预测分析建模技术,讲解如何使用SPSS软件时间序列预测模块进行建模,应用到住宅小区订奶量预测分析中。第9章为手机游戏玩家体验评价影响因素分析,讲解如何使用SPSS软件的线性回归分析模块和方差分析模块,研究手机游戏玩家体验评价影响因素。第10章为家政行业客户满意度调研建模技术,讲解如何使用SPSS软件可靠性分析、描述性分析相关性分析、有序回归分析等模块开展家政行业客户满意度调研工作。第11章为软件和信息技术服务业估值建模技术,讲解如何使用SPSS软件描述性分析、相关性分析、线性回归分析研究软件和信息技术服务业上市公司估值。第12章为美容连锁企业按门店特征分类分析建模技术,讲解如何使用SPSS软件因子分析模块和聚类分析模块对美容连锁企业按门店特征分类。

综上所述,本书最大的特色和优势在于将SPSS建模技术和商业领域应用有机结合,从使用的SPSS建模技术来看,既包括传统经典的线性回归分析、相关分析、因子分析、聚类分析、描述性分析、方差分析、交叉表分析等一般统计建模技术,也包括神经网络多层感知器、径向基函数、决策树等热门大数据处理建模技术,也包括专业用于市场营销的联合分析、直销模块分析等专业建模技术。从研究应用的领域来看,全部为当下流行热门的商业运营领域,涉及的行业包括商业银行、美容连锁、汽车制造销售、电子商务、在线旅游、网络信贷、手机游戏、家政行业、奶制品行业、软件和信息技术服务业等,涉及的商业运营环节包括市场调研、市场营销、客户满意度调查、连锁门店分类管理、奶制品物流配送、客户关系分级分类维护、业务审批、消费者综合体验、上市公司估值等。

创作不易,恳请大家多多点赞支持,也欢迎大家多多关注我,让我们一起学习Python/SPSS/Stata等相关知识。

相关推荐
PieroPc29 分钟前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
古希腊掌管学习的神2 小时前
[机器学习]XGBoost(3)——确定树的结构
人工智能·机器学习
梧桐树04294 小时前
python常用内建模块:collections
python
Dream_Snowar5 小时前
速通Python 第三节
开发语言·python
海棠AI实验室5 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
IT古董6 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
落魄君子6 小时前
GA-BP分类-遗传算法(Genetic Algorithm)和反向传播算法(Backpropagation)
算法·分类·数据挖掘
落魄君子6 小时前
ELM分类-单隐藏层前馈神经网络(Single Hidden Layer Feedforward Neural Network, SLFN)
神经网络·分类·数据挖掘
蓝天星空6 小时前
Python调用open ai接口
人工智能·python
睡觉狂魔er6 小时前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶