分类预测:分类算法概念|学习笔记(二)

简介: 快速学习分类预测:分类算法概念

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践分类预测:分类算法概念】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15430


分类预测:分类算法概念


模型评估评估的时候,我们需要用测试题来评估模型。刚刚模型建立的时候,用的是训练模型,是训练样本来建立模型,用测试样本来评估模型,这是第二步评估模型,第三步是使用模型。那么我们下面来看一个具体的例子。

首先我们的样本数据,如这张表所示,这是客户购买房车的一个样本数据,我们做了一个示意,数据不多,它有性别、年龄、婚姻状况、家庭主妇,然后判断客户是否购买房车适合我。

所以最后一列是特别的一列,这叫这个标记,也就是我们讲的写line,前面的话,是客户的属性数据,他们的频率的话得有一个标准答案,可以根据实际情况来选,一般情况下,是70%度确定30%度测试,我们先看第一步骤鉴定模型。建立模型的时候需要用到具体的分类算法,那么我们以决策树为例,我们构建好了这样一个模型,这个决策树从上往下看,从树根往下面树枝树叶子看,这是建立好的模型,那么我们第二步就是要评估模型,我们用,下面的三条测试数据来评估模型,那么我们一条一条看第一条。

image.png在决策书上面,婚姻状况第一条婚姻状况是未婚,然后未婚的话,应该走第一个公司好,然后再看年龄。年龄的话,样本数据里面是大于35岁,那应该要走这条本质好,那我们看,然后这个已经到达叶子树叶子叶子阶段,然后它的值是是,也就是购买房车,而样本数据里面的结果是这个客户他并不购买房车,那么所以这个测试的话就是错误了。

那么我们来看,剩下两条同样的做一下测试。最终我们发现,只有一条是正确的,整个错误率是2/3,那么模型应该是不能用的,那后面的话就是这应该重新构建或者修改模型,那么这个重新构建和修改过程,我们就都重做一下,我们再下一步假设模型修改以后比较正确的话,那我们第三步骤的话就是使用模型。

那么刚刚这个图里面,底下还有这一块,如果模型错误率比较高的话,就要去修改模型,然重复前面的过程,直到模型比较正确,我们就可以使用模型。

第三步骤使用模型,使用模型是我们真正需要的,我们就是要判断样本里面类别未知的样子,然后,它应该属于哪一类。那么我们,这个类的话,是有两个值适合我们判断,一个客户他是没有年龄是55岁已婚,然后是高手的,那他是可以购买的,我们后面完成这个模型的话,我们这个分类可以。这就是完整的一个分类的一个流程。

4、分类算法的评估

首先我们看看,对模型进行评估的一些原则,一些要求,那第一个原则或者第一个要求,要模型考虑它的准确度,模型的准确度,不能正确正确率,那怎么判断?

一般我们是把数据分成训练和测试这样一种方法来进行判断。或者,是用,更好的一个方法叫交互验证,交互验证,我们在语文课里面会给大家提到,后来叫交叉验证,也简称叫CVCV,大家注意这个CV并不是计算机视频就是congratulation,而是pros。

就是交叉验证,然后你评估算法,我们还要考虑它的速度,它的速度。速度有两方面,一方面是在训练模型的建模学,那么就是你有很多样本是需要去建立模型,它需要去训练数据,训练建模,这个需要时间。然后再一个,就是预测的速度,就是我有很多类别未知的样本,我想给它预测一下预测,当然我们希望这个速度要越快,花的时间越少越好。

那么,第三个原则要求就是这个分类算法或者分类模型的品质与可诠释性,这个品质与可诠释性的概念主要是我们用户,我们使用者是不是能够很容易理解它,很容易接受它,它也好解释的,解释性很强的,这是叫做品质的,这个诠释性得算。

模型大家可能还是有点抽象,到底它的品质和的诠释到底是怎么样,大家可能不清楚。我们就举个什么样的例子,比如说刚刚用那个角色素,在前面的那个PPT里角色素,这个算法就是品质很好。理解很容易去判断,无论是技术人员,还是克服,交流起来大家也互相理解。而另外一个算法神经网络,那就比较抽象,它中间的原理很难解释清楚,所以,就是品质和可诠释不是很好。尽管现在神经网络比及时录取其实很热,功能很强大,但是,它的可解释性差,很难解释清楚。以前听过一个报告,一个西门子公司做医疗设备、医疗数据挖掘模型的公司,西门子的一个医学部门,他们一个讲座,他们就说在上海他们遇到一个很好笑的事情。就是很多医院的医生,不敢用比较先进的神经网络这个模型,而且比而比较喜欢用角色素或者角色素的一个更升级的,叫随机分离做的模型,因为角色素或随机分做的模型比较容易解释,大家可以想象一下这样一个场景,这个场景是杜撰的,大家有些人前期一下,那比如说这个有个小的医疗事故,然后病家属要找医生来讨说法,医生说,我是用决策树,本来是直接申请这个模型来判断用这样一个治疗方案的,他一步一步是什么样子,怎么判断的,很容易讲清楚。

那如果说医生跟病人家属说,我们是用神经网络模型来做的,神经网络非常先进。那病人家属如果来问这个模型的中间的原理是什么,那医生和病人家属如果这样说,这个模型很好,但是中间的原理很复杂。那就麻烦大家把这个小例子,当一个笑话好。是我们讲的分类算法评估的一些准则,原则要求,下面,我们稍微来给大家说一下这个分类算法评估,到底怎么来评这个评估的这个内容,还是蛮多的,我们在以后的过程当中会详细讲解。

我们在这一部分先给大家简单说一下分类算法,我们以二元分类为例,二元分类就是它的类的那个标记,它的值是两个值,就小Y是两个值,我们以二元分类为例,然后,一个很重要的一个评估的时候的一个,依赖一个方式就叫混淆矩阵,大家注意混淆,矩阵是个非常通用的一个术语,然后,我们来看这一个混淆矩阵,就这张二维的表。大家注意,我们横的是预测值,竖的是真实值,大家看这个矩阵里面,中间单元格有四个格,有四个值,它分别代表什么意思?大家先看真实值,从上往下看,Activity代表是正积极的,对正义那叫做这样的,也叫正一样的。正力,那么negative我们是负的样的,也叫负力负的例子,负力,那么也就是我们二元分类里面,分成正和负,正和负就是两个类别。那么大家看样本里面所有正的样本,正的样本总共是多少?应该就是TP加上fa,就是这一列TP加fa,大家能看明白,有样本里面原来存在的正的样本就是TP加fa,样本里面原来存在的负的样本就是FP加T。大家这个能看明白,那么我们模型做好以后,模型要进行预测,那模型预测的话,所有在样本里面预测是正的,样本应该是TP加FP模型预测的,所有是负的样本应该是FN加T,这个关系大家看明白了。那么对于这个模型评估来说,我们希望知道有两个重要指标,一个重要指标叫精度,精度精准的精精度,精度大家看是。

DP除以FP加TP,大家看TP加FP,这就代表了什么代表了,我们预测是正的,总共多少个,然后里面真正是正的

image.png大家就看这个交叉里面真正是正的是多少,也就是你预测所有是正的,里面正确的正的是多少,这就叫精度,大家思考一下,理解一下,体会一下,这个精准的精就是你一个模型,你预测到总共是正的多少个里面,真正正确的多少个,这就是精度。

另外一个指标是叫召回律。这个给大家看公式,TP就是你预测是正的,而且是正确的,下面TP加FATP加fa,大家看就是样本当中原始的是正的,样本当中是正的总共多少,也就是样本当中总共是正的是多少,然后你模型运出来的来多少,等于你把里面给它找找回了。就是真正的样本里面挣的有多少,你模型运出来就不少了,这就叫装备,这两个指标非常重要,如果我们要写学小论文的话,我们的模型不要提供这两个指标,当然还有其他一些指标,我们在以后的指导中也给大家详细讲讲。

 

二、主要分类算法

下面我们来看看分类算法常用的有哪些?分类算法实际上还是较多的,我们这里给大家列出这样几个。其中,给同学们讲解的一个是贝叶斯分类,一起为什么选这个算法给同学们讲解,因为大家知道,那么贝叶斯分离器是基于概率的,有人说过,如果没有贝叶斯,那么人工智能将会推迟两三百年。

所以我们要把贝叶斯的原理、算法要掌握清楚,然后看一看,理解一下贝叶斯跟地势怎么样。第二个也给同学们讲解的是人工神经网络,这个不用多说了,大家应该知道现在所谓的人工智能这么热,我们进入到人工智能时代,就是因为神经网络的这个,特别是以神经网络为基础的深度区的,所以这两个分类算法,那么我会给同学们详细讲解一下,然后,因为我们同学们是研究生的这样一个身份,我们同学们要积极参与到课程的教和学当中来,所以我们后面有一些分类算法要同学们参与的。

就同学们要自己去明白原理,自己整理资料,自己做好实验,然后我们要具体来汇报的,像分类算法里面同学们要汇报的那一个是学生数算法,一个是实现两极,那再一个是提前学习好,那么第一小节的知识。

相关文章
|
20天前
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
33 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
79 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
20天前
|
存储 缓存 分布式计算
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
这篇文章是关于数据结构与算法的学习指南,涵盖了数据结构的分类、数据结构与算法的关系、实际编程中遇到的问题以及几个经典的算法面试题。
26 0
数据结构与算法学习一:学习前的准备,数据结构的分类,数据结构与算法的关系,实际编程中遇到的问题,几个经典算法问题
|
5月前
|
存储 算法 Linux
【数据结构和算法】---二叉树(1)--树概念及结构
【数据结构和算法】---二叉树(1)--树概念及结构
47 0
|
14天前
|
移动开发 算法 前端开发
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
15 0
|
2月前
|
机器学习/深度学习 算法 数据挖掘
决策树算法大揭秘:Python让你秒懂分支逻辑,精准分类不再难
【9月更文挑战第12天】决策树算法作为机器学习领域的一颗明珠,凭借其直观易懂和强大的解释能力,在分类与回归任务中表现出色。相比传统统计方法,决策树通过简单的分支逻辑实现了数据的精准分类。本文将借助Python和scikit-learn库,以鸢尾花数据集为例,展示如何使用决策树进行分类,并探讨其优势与局限。通过构建一系列条件判断,决策树不仅模拟了人类决策过程,还确保了结果的可追溯性和可解释性。无论您是新手还是专家,都能轻松上手,享受机器学习的乐趣。
45 9
|
3月前
|
数据采集 机器学习/深度学习 算法
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
【python】python客户信息审计风险决策树算法分类预测(源码+数据集+论文)【独一无二】
|
3月前
|
机器学习/深度学习 算法
【机器学习】解释对偶的概念及SVM中的对偶算法?(面试回答)
解释了对偶的概念,指出对偶性在优化问题中的重要性,尤其是在强对偶性成立时可以提供主问题的最优下界,并且详细阐述了支持向量机(SVM)中对偶算法的应用,包括如何将原始的最大间隔优化问题转换为对偶问题来求解。
71 2
|
3月前
|
算法 5G Windows
OFDM系统中的信号检测算法分类和详解
参考文献 [1]周健, 张冬. MIMO-OFDM系统中的信号检测算法(I)[J]. 南京工程学院学报(自然科学版), 2010. [2]王华龙.MIMO-OFDM系统传统信号检测算法[J].科技创新与应用,2016(23):63.
72 4
|
3月前
|
机器学习/深度学习 算法 数据挖掘
决策树算法大揭秘:Python让你秒懂分支逻辑,精准分类不再难
【8月更文挑战第2天】决策树算法以其直观性和解释性在机器学习领域中独具魅力,尤其擅长处理非线性关系。相较于复杂模型,决策树通过简单的分支逻辑实现数据分类,易于理解和应用。本示例通过Python的scikit-learn库演示了使用决策树对鸢尾花数据集进行分类的过程,并计算了预测准确性。虽然决策树优势明显,但也存在过拟合等问题。即便如此,无论是初学者还是专家都能借助决策树的力量提升数据分析能力。
42 4