3.1 决策树的基本思想
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
- 决策树的主函数:各种决策树的主函数大同小异,本质上是个递归函数,该函数主要功能是根据某种规则生长出决策树的各个分支节点,并根据终止条件结束算法。
- 输入需要分类的数据集和类别标签
- 根据某种分类规则得到最优的划分特征,并创建特征的划分节点——计算最优特征子函数
- 按照该特征的每个取值划分数据集为若干部分——划分数据集子函数
- 根据划分子函数的计算结果构建出新的节点,作为树生长出的新分支
- 检验是否符合递归终止条件
- 将划分的新节点包含的数据集和类别标签作为输入,递归执行上述步骤
- 计算最优特征子函数:不同标准导致不同类型的决策树,如ID3的最优特征选择标准是信息增益,C4.5是信息增益率,CART是节点方差的大小等等。算法逻辑上,一般选择最优特征需要遍历整个数据集,评估每个特征,找到最优的那个返回。
- 划分数据集子函数:分隔数据集。
- 分类器:将测试遍历整个生成的决策树,并找到最终的叶子节点的类别标签。这个标签就是返回的结果。
- 不确定性函数I,又称为事件的信息量,是事件U发生概率p的单调递减函数
- 具有可加性,即两个独立事件所产生的不确定性应等于各自不确定性之和,即 I(P1,P2) = I(P1) + I(P2)
- 考虑信源所有可能情况的平均不确定性,使用单个不确定性-log(pi)来统计平均值E,可称为信息熵
-
- 上式中对数一般取2为底
- 信息熵是事物不确定性的度量标准,也成为信息的单位或测度。
- 某个特征列向量的信息熵越大,就说明该向量的不确定性程度越大,即混乱程度越大
-
- 我们需要使用信息熵来度量类别标签对样本整体的不确定性。设S是s个数据样本的集合,类别标签具有m个不同值,定义m个不同类Ci(i=1,2,3,...,m)。设si是Ci中的样本数。则对于一个给定的样本分类所需要的信息熵如下:
- pi为任意样本属于Ci的概率,pi=si/|S|
- 接下来使用信息熵度量每种特征不同取值的不确定性。设A具有v个不同值{a1,a2,...,av}。可以用特征A将S划分成v个子集{S1,S2,...,Sv}。其中,Sj包含在A上具有值aj的样本。如果选A做测试特征,即最优划分特征,那么这些子集就是S节点中生长出来的决策树分支。设sij是子集sj中类Ci的样本数。根据由A划分成子集的熵:
-
- 其中:
- pij=sij/|Sj|
- 其中:
-
- 最后使用信息增益来确定决策树分支的划分依据。其是决策树上某个分支上整个数据集信息熵与当前节点信息熵的差值,用Gain(A)表示:
- 具有最高信息增益的特征就可以选作给定集合S的测试属性。创建一个节点,并以该特征标记,对特征的每个值创建分支,并根据此划分样本。
- 可以理解成:将不确定性降低最多的特征选出来,选为节点!!
3.1 决策树的基本思想相关推荐
- Lesson 8.1Lesson 8.2 决策树的核心思想与建模流程CART分类树的建模流程与sklearn评估器参数详解
Lesson 8.1 决策树的核心思想与建模流程 从本节课开始,我们将介绍经典机器学习领域中最重要的一类有监督学习算法--树模型(决策树). 可此前的聚类算法类似,树模型也同样不是一个模型,而是一类模 ...
- 算法杂货铺——分类算法之决策树(Decision tree)
算法杂货铺--分类算法之决策树(Decision tree) 2010-09-19 16:30 by T2噬菌体, 88978 阅读, 29 评论, 收藏, 编辑 3.1.摘要 在前面两篇文章中,分别 ...
- 数据分类:决策树Decision Tree
背景 决策树(decision tree)是一种基本的分类和回归(后面补充一个回归的例子?)方法,它呈现的是一种树形结构,可以认为是if-then规则的集合.其其主要优点是模型具有很好的可读性,且分类 ...
- 机器学习理论《统计学习方法》学习笔记:第五章 决策树
机器学习理论<统计学习方法>学习笔记:第五章 决策树 决策树 5.1 决策树模型与学习 5.1.1 决策树模型 5.1.2 决策树与if-then规则 5.1.3 决策树与条件概率分布 5 ...
- [Python从零到壹] 十四.机器学习之分类算法五万字总结全网首发(决策树、KNN、SVM、分类对比实验)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- EduCoder 机器学习 决策树
决策树说通俗点就是一棵能够替我们做决策的树,或者说是我们人类在要做决策时脑回路的一种表现形式. 本实训项目的主要内容是基于 python 语言搭建出决策树模型对数据分类,并使用 sklearn 的决策 ...
- 从决策树学习谈到贝叶斯分类算法
从决策树学习谈到贝叶斯分类算法 从决策树学习谈到贝叶斯分类算法 引言 最近在面试中,除了基础 & 算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法,而 ...
- 机器学习-决策树(Decision Tree)
内容参考自:ML-NLP/Machine Learning/3.Desition Tree at master · NLP-LOVE/ML-NLP · GitHub,有修改 目录 1. 什么是决策树 ...
- 机器学习:算法模型:决策树
原文链接:https://www.cnblogs.com/wenyi1992/p/7685131.html [基本流程] 分类决策树的核心思想就是在一个数据集中找到一个最优特征,然后从这个特征的选值中 ...
最新文章
- div渐变遮罩效果:纵向和水平反向渐变遮罩效果,让戛然而止的页面多一丝丝淡淡的过渡效果,温柔中透露着一缕缕优雅...
- UpdateProgress
- 开发实习生做什么_实习生月薪6W,还有住房补贴!投行前台到底是做什么的?...
- 直接销毁_战机报废,发动机怎么处理?美国直接销毁,中国改造成扫雪神器
- 【JAVA基础篇】内部类
- 基于samba实现win7与linux之间共享文件_阳仔_新浪博客
- selenium学习过程中遇到的问题
- 社区活动 | Apache Flink 1.9 版本即将发布,新版本有哪些新特性?
- Ubuntu16.04安装ROS Kinetic详细过程
- 三星平板电脑html文件放在哪里,三星Tab3怎么连接电脑?三星Tab3平板电脑连接电脑的方法图解...
- Firefox 4.0浏览器正式版再次推迟发布
- linux网络端口失效( Device eth0 does not seem to be present,delaying initialization)解决方法
- Maya粒子-水滴表面流动效果
- PHPStudy环境下phpmyadmin卡顿延迟不流畅解决办法
- imagemagick安装问题
- 秦纪一 昭襄王五十二年(丙午、前255)——摘要
- Citrix 联机插件报错:找不到满足锁定要求的(AllowHotKey)的值
- c语言作业朱鸣华,C语言程序设计教程
- 在cadence中使用VerilogA
- 从零基础如何自学 UI 设计?
热门文章
- 基于A*算法的自动寻路贪吃蛇小游戏demo
- 计算机科学与技术专业大学排名2020年,2020年全国计算机科学与技术专业大学排名,高考填报志愿可参考下...
- 高德地图图形面积计算
- Accurate, Dense, and Robust Multi-View Stereopsis论文分析与代码实现(一)
- IDEA插件系列(18):Translation插件——翻译插件
- Oracle选择填空题中英文,oracle中英文分开排序
- 猴子分桃问题(JAVA实现)
- 机器学习笔记——回归(Regression)
- 【SpringBoot】SpringBoot简介
- dlib 人脸检测原理