机器学习—决策树模型
1 决策树概述
1.1 决策树模型简介
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一种类别。
树的组成:
根节点:第一个选择点
非叶子结点与分支:中间过程
叶子节点:最终的决策结果
1.2 决策树建立步骤
1.3 三种经典的决策树生成算法
决策树建立过程中,选择合适的特征及该特征下选择合适的决策值对决策树的结构影响很大,对决策树的研究基本上集中于该问题,该问题习惯上称为样本集分裂,依其解决方法可将决策树算法分为ID3、C4.5、CART等三种。
2 信息熵与基尼指数
2.1 信息量
信息的概念:信息就是对不确定性的消除。如一条天气预报消息“明天气温下降8度”可以消除人们对明天天气变化的不确定性。
消除的不确定性越大,那么信息量就应该越大。不确定性的消除是根据人们的先验知识来比较的。再比如,“中国足球队打败巴西足球队”比“中国乒乓球队打败巴西乒乓球队”所消除的不确定性就大的多。因此,预言以往发生小概率的事件的消息所带来的信息量就要大。以往发生的概率叫做先验概率,用p表示。香农基于先验概率来定义信息量公式:
I ( x ) = l o g ( 1 p ) = − l o g ( p ) I(x)=log(\frac{1}{p})=-log(p) I(x)=log(p1)=−log(p)
假设中国足球队和巴西足球队曾经有过8次比赛,其中中国队胜1次。以U1表示未来的中巴比赛中国队胜的事件,那么U1的先验概率就是1/8,因此其信息量就是:
I ( U 1 ) = − l o g 2 ( 1 8 ) = 3 I(U_{1})=-log_2{}(\frac{1}{8})=3 I(U1)=−log2(81)=3
如果以U2表示巴西队胜,那么U2的先验概率是 7 8 \frac{7}{8} 87,其信息量就是:
I ( U 2 ) = − l o g 2 ( 7 8 ) = 0.19 I(U_{2})=-log_2{}(\frac{7}{8})=0.19 I(U2)=−log2(87)=0.19
“值越大,越不寻常”,对应的信息量越大。
2.2 信息熵
信息量描述的是信源发出的单个事件消除的不确定性,还不能刻画信源消除的平均不确定性。如果把信源发出的所有事件的信息量求均值,就可以刻画信源消除的平均不确定性,定义为信息熵:
H ( x ) = E [ I ( x i ) ] = − ∑ i = 1 n p i l o g 2 p i H(x)=E[I(x_i)]=-\sum_{i=1}^{n}p_i{\mathbf{log}_2{p_i}} H(x)=E[I(xi)]=−∑i=1npilog2pi
信息熵通常用来描述整个随机分布所带来的信息量平均值,更具统计特性。信息熵也叫香农熵,在机器学习中,由于熵的计算是依据样本数据而来,故也叫经验熵。
样本集合的信息熵越大,说明各样本相对均衡,区别就越小,越不利于分类。
以下表中的数据为例,表中的数据为决定是否相亲的5组数据,影响是否相亲结果的特征主要有年龄、身高、学历和月薪。
示例的样本集合A中,相亲3次,不相亲2次,其信息熵计算如下:
H ( A ) = − 2 5 × log 2 2 5 − 3 5 × log 2 3 5 = 0.971 H(A)=-\frac{2}{5}\times \textbf{log}_2{\frac{2}{5}}-\frac{3}{5}\times \textbf{log}_2{\frac{3}{5}}=0.971 H(A)=−52×log252−53×log253=0.971
信息熵值越大,事件越不确定,最大值为1,对立事件此时各发生概率为0.5;确定事件信息熵值为0,比如太阳从东边升起。
2.3 信息增益
当把样本集 A A A按照第
机器学习—决策树模型相关推荐
- 机器学习——决策树模型:Python实现
机器学习--决策树模型:Python实现 1 决策树模型的代码实现 1.1 分类决策树模型(DecisionTreeClassifier) 1.2 回归决策树模型(DecisionTreeRegres ...
- 机器学习常用模型:决策树_fairmodels:让我们与有偏见的机器学习模型作斗争
机器学习常用模型:决策树 TL; DR (TL;DR) The R Package fairmodels facilitates bias detection through model visual ...
- 机器学习之使用sklearn构造决策树模型
一.任务基础 导入所需要的库 import matplotlib.pyplot as plt import pandas as pd%matplotlib inline 加载sklearn内置数据集 ...
- 《machine learning in action》机器学习 算法学习笔记 决策树模型
决策树模型 重要任务:是为了理解数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,这些机器根据数据集创建规则的过程就是机器学习的过程. 优点:计算复杂度不高,输出结果 ...
- 【机器学习】07. 决策树模型DecisionTreeClassifier(代码注释,思路推导)
目录 资源下载 实现思路与核心函数解读 DecisionTreeClassifier分类决策树 tree.plot_tree决策树可视化 1. 对决策树最大深度的研究与可视化 绘图结果 分析 2. 对 ...
- 图解机器学习算法(6) | 决策树模型详解(机器学习通关指南·完结)
作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/34 本文地址:https://www.showmeai.tech/article-d ...
- 机器学习中的特征选择——决策树模型预测泰坦尼克号乘客获救实例
在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择.属性选择或变量子集选择.它是指:为了构建 模型而选择相关特征(即属性.指标)子集的过程.使用特征选择技术 ...
- 【机器学习】什么是决策树模型?如何去构建决策树?何时使用决策树?何时使用神经网络?
系列文章目录 第十三章 Python 机器学习入门之决策树 目录 系列文章目录 前言 一.决策树模型 1 什么是决策树模型? 2 决策树学习的过程 二.如何确定在节点使用的特征 1 熵的定义 2 什么 ...
- 机器学习之决策树模型最优属性选择方法
决策树模型是用于解决分类问题的一个模型,它的特点是简答.逻辑清晰.可解释性好. 决策树是基于"树"结构进行决策的. 每个"内部结点"对应于某个属性上的" ...
最新文章
- [导入]关于DataGrid等控件中的自动编号
- 深信服智能边缘计算平台与 OpenYurt 落地方案探索与实践
- 动态规划——编辑距离
- java正则匹配并提取字串
- Java中拦截器和过滤器的声明用途和区别
- 关于macOS自定义终端命令的方法
- PHP上传文件大小限制的问题
- 北京天通苑二房东、黑中介
- 和机器人问问题的软件_如何开发一个特定领域的自动问答机器人(Chat Bot)?
- 神探狄仁杰是一个Debug高手
- 互联网广告的盈利模式
- python中文字符串比较模块_python比较字符串相似度,原创度检测工具
- 使用Office Tool Plus安装office、visio、project等--很实用
- JVM——GC算法原理
- Linus Torvalds:最庆幸的是 30 年后,Linux 不是一个“死”项目
- !function(){}() 什么意思
- python爬取高德地图数据_你的未来有我导航----教你如何爬取高德地图
- 学习如何利用docker建立容器,然后用fastqc分析数据
- 网络io和磁盘io_在磁盘IO上,第1部分:IO的风味
- 音视频从入门到精通——ffmpeg3之打印多媒体文件音视频信息