开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践:分类算法概述 下】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1067/detail/15515
分类算法概述 下
内容介绍:
一、分类算法的评估
二、主要分类算法
一、分类算法的评估
模型进行评估的原则和要求。第一个原则或第一个要求模型考虑准确度或者正确率,把数据分成训练集和测试集方法进行判断,或用更好的一个方法——交互验证法或交叉验证,也称CV,CV并不是计算机视觉computer vision,而是cross validation交叉验证。
评估算法还要考虑它的速度,速度有两方面,一方面是在训练模型即建模时的速度,有很多样本数据要建立模型,它需要数据训练、建模,需要时间,另一方面是预测的速度,有很多类别未知的样本预测速度,希望速度要越快,花的时间越少越好。
第三个原则要求是分类算法或者分类模型的品质与可诠释性,品质与可全释性的概念主要是用户、使用者是否能够很容易理解与接受,好解释,解释性很强的,这就是品质和可诠释性,对于算法模型可是有点抽象,它的品质和可诠释到底是怎样可能不清楚,就举一个简单的例子,比如决策树,决策数算法是品质很好,很容易就理解。
无论是技术人员还是客服,交流起来也互相容易理解,另外一个算法,神经网络比较抽象,中间的原理很难解释清楚,所以品质和可诠释不是很好,尽管现在的神经网络以及深度学习是很热、功能很强,但可解释性很差,很难解释清楚。
如一个西门子公司,做医疗设备数据挖掘模型的公司,西门子的一个医学部门,有一个讲座内容是在上海遇到一个很好笑的事情,很多医院的医生不敢用比较先进的神经网络模型,而比较喜欢用决策树或决策树的一个更升级随机森林做的模型,因为决策树或随机森林做的模型比较容易解释,想象一个场景,场景是杜撰的,比如有个小的医疗事故,病人家属找医生讨说法,医生是用决策树或随机森林做的模型判断用,是用神经网络模型来做的,神经网络非常先进,病人家属如果问模型的中间的原理,医生和病人家属如果说模型很好,但是中间的原理很复杂,也讲不清楚,就很麻烦。
这就是分类算法评估的一些准则原则要求。分类算法评估到底如何评估。分类算法,以二元分类为例,二元分类类的标记,它的值是两个值,即y取两个值,以二元分类为例,,很重要的评估时的一个依赖、一个抓手就叫混淆矩阵,混淆矩阵是个非常通用的一个术语
混淆矩阵是张二维的表,横是预测值,竖是真实值,矩阵里面中间单元格有四个格子,有四个值,先看真实值,从上往下,Positive代表是正的,积极的,就是正立,叫做正样本,也称正样本正立,negative是负的样本,也叫负例,也就是二元分类里面,分成正和负,正和负是两个类别,样本里面所有正的样本。
正的样本总共是TP加上FN,样本里面原来存在的正的样本是TP加FN,样本里面原来存在的负的样本就是FP加TN ,模型做好以后要进行预测。模型预测所有在样本里面预测是正的样本应该是TP加FP。模型预测所有是负的样本应该是FN加TN。
对于模型评估希望知道有两个重要指标,一个重要指标叫精度,精度是TP除以FP加TP。代表了预测是正的,总共多少个里面真正是正的,注意看交叉里面真正是正的是多少,即预测所有是正的里面正确的正的是多少,就叫精度,一个模型,预测到总共是正的多少,里面真正正确的多少个就是精度。
另外一个指标是召回率,召回率看公式TP是预测是正的,而且是正确的,TP加FN是样本中原始的是正的,样本当中是正的总共多少,即样本当中总共是正的是多少,模型出来是多少,等于把里面召回了,真正的样本里面正的有多少,模型运出来有多少个就叫召回率,两个指标非常重要,如果要写学术交论文,模型都要提供这两个指标,还有其他一些指标以后的课堂中会详细讲解。
二、主要分类算法
分类算法主要是决策树、最近邻、贝叶斯分类、支持向量机、人工神经网络以及集成学习,集成学习并不是单一的分类算法,可以用上面的分类算法,集成多个组合起来进行分类预测。
因为课程是文本挖掘,没有时间给再介绍分类算法,可能在其他课程里面有所接触,主要是在一讲里面直接去应用,利用Python里面的包直接来使用算法。