机器学习(三)——决策树(decision tree)算法介绍
信息和抽象,如何度量?
1948年,香农提出了 ”信息熵(entropy)“的概念,一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,或者是我们一无所知的事情,需要了解大量信息==>信息量的度量就等于不确定性的多少。
用比特(bit)来衡量信息的多少
3.2 决策树归纳算法(ID3)
1970-1980,
选择属性判断节点:
信息获取量:Gain(A) = Info(D) - Infor_A(D)
通过A来作为节点分类获取了多少信息
举例:
以年龄来分的信息熵:
所以:
同理:Gain(income) = 0.029, Gain(student) =0.151,Gain(credit_rating)=0.048
所以,选择age作为第一个根节点,得到:
重复上面的步骤。
算法:
树以代表训练样本的单个结点开始(步骤1)。
如果样本都在同一个类,则该结点成为树叶,并用该类标号(步骤2 和3)。
否则,算法使用称为信息增益的基于熵的度量作为启发信息,选择能够最好地将样本分类的属性(步骤6)。该属性成为该结点的“测试”或“判定”属性(步骤7)。在算法的该版本中,
所有的属性都是分类的,即离散值。连续属性必须离散化。(也就是自己设置阈值)
对测试属性的每个已知的值,创建一个分枝,并据此划分样本(步骤8-10)。
算法使用同样的过程,递归地形成每个划分上的样本判定树。一旦一个属性出现在一个结点上,就不必该结点的任何后代上考虑它(步骤13)。
递归划分步骤仅当下列条件之一成立停止:
(a) 给定结点的所有样本属于同一类(步骤2 和3)。
(b) 没有剩余属性可以用来进一步划分样本(步骤4)。在此情况下,使用多数表决(步骤5)。
这涉及将给定的结点转换成树叶,并用样本中的多数所在的类标记它。替换地,可以存放结
点样本的类分布。
(c) 分枝
test_attribute = a i 没有样本(步骤11)。在这种情况下,以 samples 中的多数类
创建一个树叶(步骤12)
各种算法之间的共同点:都是贪心算法,自上而下;区别:属性选择度量方法不同
4、树剪枝叶(避免overfitting)
4.1 先剪枝(分到某一个程度之后不再分)
4.2 后剪枝(先把所有情况分完,再决定剪枝)
5、决策树的优缺点
优点:直观,便于理解,小规模数据集有效性好
缺点:处理连续变量不好
类别较多时,错误的增加比较快
可规模性一般。
转载于:https://www.cnblogs.com/Melvin-Dong/p/7343981.html
机器学习(三)——决策树(decision tree)算法介绍相关推荐
- 机器学习:决策树(Decision Tree)介绍
简介 决策树是一种常见的机器学习算法,它的实现方式类似于我们平时利用多个不同权重选择做决策的过程.以下介绍一个现实生活中的例子. 当父母给自己的女儿介绍对象时,女儿往往会根据对方的年龄.富贵.高矮.美 ...
- 机器学习-决策树(decision tree)算法
学习彭亮<深度学习基础介绍:机器学习>课程 [toc] 决策树概念 决策树是一种用于监督学习的层次模型,由此,局部区域通过少数几步递归分裂决定. 决策树是一个类似流程图的树结构:其中每个结 ...
- 机器学习:决策树(Decision Tree)--ID3算法
决策树的主要算法 构建决策树的关键:按照什么样的次序来选择变量(属性/特征)作为分类依据. 根据不同的目标函数,建立决策树主要有以下三种算法 ID3(J.Ross Quinlan-1975) 核心:信 ...
- 机器学习(五)决策树(decision tree)
决策树(decision tree)(一)--构造决策树方法 决策树算法起源于E.B.Hunt等人于1966年发表的论文"experiments in Induction",但真正 ...
- 决策树(Decision Tree)算法 python简单实现
1. 简介 决策数(Decision Tree)在机器学习中是比较常见的一种算法,属于监督学习中的一种. 算法流程如图: 具体算法可以详见下方参考 有空再做详解 参考:https://blog.csd ...
- 机器学习笔记——决策树(Decision Tree)(1)
决策树 1.引入 1.1定义 决策树,顾名思义,就是帮我们做出决策的树.现实生活中我们往往会遇到各种各样的抉择,把我们的决策过程整理一下,就可以发现,该过程实际上就是一个树的模型.比如相亲的时候: ...
- 机器学习算法实践:决策树 (Decision Tree)(转载)
前言 最近打算系统学习下机器学习的基础算法,避免眼高手低,决定把常用的机器学习基础算法都实现一遍以便加深印象.本文为这系列博客的第一篇,关于决策树(Decision Tree)的算法实现,文中我将对决 ...
- Machine Learning | (7) Scikit-learn的分类器算法-决策树(Decision Tree)
Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...
- 算法杂货铺——分类算法之决策树(Decision tree)
算法杂货铺--分类算法之决策树(Decision tree) 2010-09-19 16:30 by T2噬菌体, 88978 阅读, 29 评论, 收藏, 编辑 3.1.摘要 在前面两篇文章中,分别 ...
- [机器学习笔记] (四)决策树 Decision Tree
(四)决策树 Decision Tree 基本概念 决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性 ...
最新文章
- android跳转应用市场搜索,Android 应用中跳转到应用市场评分
- Solaris10 for x86网卡替换配置
- 浅谈分布式CAP定理
- 聊聊并发(七)——Java中的阻塞队列
- tensorflow学习(1.CNN简单实现MNIST)
- hackerrank---Sets - Symmetric Difference
- celery学习笔记:celery安装,并运行第一个应用
- 开发常用常用插件介绍
- JS处理Cookie
- 人声处理_科唛课堂——人声的音频后期处理
- 《数据整理实践指南》一第2章 是我的问题还是数据的问题
- 不同特征值对应的特征向量
- eclipse 配置多个tomcat
- PDF文件打开密码解密
- 视频伪原创工具 剪辑过的视频md5会改变吗
- 【PyTorch 自然语言处理】传统 NLP 快速回顾(计算语言学)
- MOS管的导通电阻RDS(on)与阈值电压VGS(th)温度特性详解
- AD画螺旋形走线或者天线的操作
- 短视频脚本撰写小技巧,不同的短视频类型要使用不同的撰写方法
- iPhone数据线连接电脑成为电脑USB摄像头
热门文章
- python列表转化为数字信号_python 经典数字滤波实例 Python 数字信号处理程序实现分享解...
- 第一章节 c#面向对象
- 小兔子(PAT乙级练习题)
- 信号报告(Java)
- java编译异常和运行时异常_浅谈异常结构图、编译期异常和运行期异常的区别...
- 常见危险函数和特殊函数(二)----变量覆盖
- OpenGL基础51:泛光
- Prewitt滤波器的实现,对比Prewitt滤波器和Sobel滤波器提取图像边缘的效果
- 使用不同的膨胀和腐蚀方法对图像进行处理
- Git使用-.gitignore文件(使一些文件不上传到git)