信息增益

决策树算法(一)

拟墨画扇 提交于 2020-01-13 07:02:35
一、决策树算法 1.决策树 决策树思想的来源非常朴素,程序设计中的条件分支结构(if-else)结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。 决策时:是一种树形结构,其实每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果,本质是一颗由多个判断节点组成的树。 2.决策树的分类原理 1.熵 1.1概念 物理学上,熵 Entropy是“混乱”程度的量度。 系统越有序,熵值越低,系统越无序,熵值越高。 1948年香农提出了信息熵(Entropy)的概念: 信息理论 1.从信息的完整性来说: 当系统的有序状态一致时,数据越集中的地方熵值越小,数据越分散熵值越大。 2.从信息有序性来说: 当数据量是一致时,系统越有序,熵值越低;系统越混乱或者分散,熵值越高。 ”信息熵“(information entropy)是度量样本集合纯度最常用的一种指标,用来描述信息的不确定程度。 3.决策树的划分依据——信息增益 3.1 概念 信息增益:以某种特征划分数据集前后的熵的差值。熵可以表示样本集合的不确定性,熵越大,样本的不确定性就越大。因此可以使用划分前后集合熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏。 信息增益 = entropy(前) - entropy(后) 定义与公式 信息熵的计算: 条件熵的计算: 其中: D^v D*

决策树

a 夏天 提交于 2020-01-12 05:01:11
目录 1、基本概念 2、 决策树的构造 2.1、ID3算法 / 信息熵 2.2、C4.5算法 / 增益率 2.3、CART算法 / 基尼指数 3、剪枝操作 4、 连续值与缺失值处理 4.1、连续值离散化 4.2、缺失值处理 1、基本概念 顾名思义,决策树是基于树结构来进行决策的,在网上看到一个例子十分有趣,放在这里正好合适。现想象一位捉急的母亲想要给自己的女娃介绍一个男朋友,于是有了下面的对话: 女儿:多大年纪了? 母亲:26。 女儿:长的帅不帅? 母亲:挺帅的。 女儿:收入高不? 母亲:不算很高,中等情况。 女儿:是公务员不? 母亲:是,在税务局上班呢。 女儿:那好,我去见见。 这个女孩的挑剔过程就是一个典型的决策树,即相当于通过年龄、长相、收入和是否公务员将男童鞋分为两个类别:见和不见。假设这个女孩对男人的要求是:30岁以下、长相中等以上并且是高收入者或中等以上收入的公务员,那么使用下图就能很好地表示女孩的决策逻辑(即一颗决策树)。 在上图的决策树中,决策过程的每一次判定都是对某一属性的“测试”,决策最终结论则对应最终的判定结果。一般一颗决策树包含:一个根节点、若干个内部节点和若干个叶子节点,易知: * 每个非叶节点表示一个属性测试。 * 每个分支代表这个特征属性在某个值域上的输出。 * 每个叶子节点存放一个类别(即决策结果)。 *

统计学习方法学习1.0

你离开我真会死。 提交于 2020-01-07 14:06:36
决策树 决策树是一种分类和回归方法 优点:模型可读性,分类速度快 过程:特征选择、决策树的生成、决策树的剪枝 损失函数:正则化的极大似然函数 特征选择:多个特征时,如何选择某个特征作为判断的依据 1、信息增益: 熵定义: 熵越大,随机变量的不确定性越大。 条件熵: 已知随机变量X的条件下随机变量Y的不确定性。 信息增益 = 熵 - 条件熵(也就是互信息) 表示由于特征A而使得对数据集D进行分类的不确定性减少程度。 如根节点的熵最大,下一个特征如果和得到正确的分类结果,那么下一个特征的条件熵就是0,信息增益最大,所以 这个特征比较好。 问题:存在偏向于选择取值较多的特征的问题,所以可以使用信息增益比,信息增益与训练集D在特征A下的熵 决策树的生成: 1、多个特征时,通过信息增益的值挨个选择特征,最后生成树结构 2、ID3通过信息增益,C4.5通过信息增益比 决策树的剪枝: 防止出现过拟合情况,删除某些子节点或者叶节点 通过最小化损失函数来做剪枝,其中加上了类似于正则项的东西 来源: CSDN 作者: Jeu 链接: https://blog.csdn.net/cuipanguo/article/details/103865061

决策树原理

本秂侑毒 提交于 2020-01-03 07:17:37
1.特征选择 特征选择是选取对训练数据有分类能力的特征,常用的有信息增益( information gain)、基尼不纯度(Gini impurity ) 信息增益( information gain) 信息增益用在 ID3、C4.5 决策树生成算法中 wikipedia中信息增益的公式 J是分类数,几分类就是几 a是特征a的取值 Pr(i|a)是在a的属性下,第i个类别的概率 IG(T,a)是特征a对数据集T的信息增益 H(T)是数据集T的经验熵 H(T|a)是特征a给定条件下T的经验熵 一个特征的 信息增益越大 ,特征的分类能力越强 基尼不纯度(Gini impurity ) 基尼不纯度用在 CART 生成算法中 wikipedia中基尼不纯度的公式 J是类别,p i 是样本属于第i类的概率 特征A的基尼不纯度 p A 是特征A出现的概率,p(i|A)是在特征A的条件下,是类别i的概率 一个特征的 基尼不纯度越小 ,特征分类能力越强 2. 决策树生成算法 常用决策树生成算法包括ID3、C4.5、CART 在scikit-learn中,使用的CART算法实现决策树 ID3算法 算法思想 1)计算所有特征的信息增益 2)选择信息增益最大的特征作为根节点 3)根据特征的取值建立子节点 4)重复步骤1-3,构建决策树 缺点 该算法是基于信息增益进行节点特征的选择

基础算法 | 决策树(ID3、C4.5和CART决策树python实现)

梦想的初衷 提交于 2019-12-25 10:57:47
决策树(Decision Tree)是一种基于规则的基础而又经典的分类与回归方法,其模型结构呈现树形结构,可认为是一组if-then规则的集合。 决策树主要包含三个步骤:特征选择、决策树构建和决策树剪枝。 典型的决策树有ID3、C4.5和CART(Classification And Regression),它们的主要区别在于树的结构与构造算法。其中ID3和C4.5只支持分类,而CART支持分类和回归。 1.决策树简介 1.1. ID3决策树 ID3决策树根据信息增益来构建决策树; 对训练集(或子集) D ,计算其每个特征的信息增益,并比较大小,选择信息增益最大的特征作为该节点的特征,由该节点的不同取值建立子节点。再对子节点递归以上步骤,构建决策树;直到所有特征的信息增益均小于预设阈值或没有特征为止。 缺点: 信息增益偏向取值较多的特征 g ( D , A ) = H ( D ) − H ( D ∣ A ) = H ( D ) − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D ) = H ( D ) − ( − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 k ∣ D i k ∣ ∣ D i ∣ l o g 2 ∣ D i k ∣ ∣ D i ∣ ) g(D,A)=H(D)-H(D|A)=H(D)-\sum_{i=1}^{n}\frac{\left

机器学习相关知识整理系列之一:决策树算法原理及剪枝(ID3,C4.5,CART)

こ雲淡風輕ζ 提交于 2019-12-23 05:29:48
决策树是一种基本的分类与回归方法。分类决策树是一种描述对实例进行分类的树形结构,决策树由结点和有向边组成。结点由两种类型,内部结点表示一个特征或属性,叶结点表示一个类。 1. 基础知识 熵 在信息学和概率统计中,熵(entropy)是表示随机变量不确定性的度量。设 \(X\) 是一个取有限个值得离散随机变量,其概率分布为: \[P(X = x_i) = p_i, i = 1,2,3,...,n\] 则随机变量 \(X\) 的熵定义为: \[H(X) = - \sum_{i=1}^{n}p_i\log{p_i}\] 通常上式中对数以 \(2\) ,或者 \(e\) 为底。由定义知,熵依赖于 \(X\) 的分布,而于 \(X\) 的取值无关,所以 \(X\) 的熵记作 \(H(p)\) ,即: \[H(p) = - \sum_{i=1}^{n}p_i\log{p_i}\] 熵越大,随机变量的不确定性就越大, \(0\leq H(p) \leq \log{n}\) 。 1.1 条件熵 设有随机变量 \((X,Y)\) ,其联合概率分布为: \[P(X=x_i, Y=y_j) = p_{ij}, i = 1,2,...,n; j = 1,2,...,n\] 条件熵表示 \(H(Y|X)\) 在已知随机变量 \(X\) 的条件下随机变量 \(Y\) 的不确定性,定义为: \[H(Y|X) =

决策树

随声附和 提交于 2019-12-23 00:14:15
CONTENTS 特征选择 熵 信息增益 信息增益比 基尼系数 决策树的生成 CART决策树 CART分类树 CART回归树 决策树的剪枝 决策树是一种树状结构,可以进行基本的分类与回归,同时也是集成方法经常采用的基模型。 总体来说,各种决策树主要涉及三要素,分别是 特征选择 、 决策树的生成 和 决策树的剪枝 。 特征选择 在建立决策树的过程中,每次特征选择时,是有一套标准的,下面就来介绍一下信息增益、信息增益比、基尼系数等。 熵 日常生活中,当我们要搞清楚某件事时,这件事情的不确定性越大,我们需要了解的信息就越多。 在信息量或概率统计中,用熵度量随机变量的不确定性。熵值越大,随机的不确定性就越大。 如果一个随机变量 Y Y Y 的可能取值为 Y = { c 1 , c 2 , . . . c k } Y=\{c_1,c_2,...c_k\} Y = { c 1 ​ , c 2 ​ , . . . c k ​ } ,其概率分布为 P ( Y = c i ) = p i , i = 1 , 2 , . . . K P(Y=c_i)=p_i, i=1,2,...K P ( Y = c i ​ ) = p i ​ , i = 1 , 2 , . . . K 。则随机变量 Y Y Y 的熵的定义为 H ( Y ) H(Y) H ( Y ) ,即 H ( Y ) = − ∑ i = 1 K

基于信息增益的决策树算法(附MATLAB代码)

浪子不回头ぞ 提交于 2019-12-21 05:51:51
基于信息增益的决策树算法(附MATLAB代码) 最近在学机器学习,本篇文章的内容正好是作业内容,所以拿来分享一下,顺便捋一下思路。下面内容只涉及到决策树学习基本算法(伪代码)、信息增益的计算和matlab代码实现。决策树算法原理不再赘述,请自行百度。水平有限,如有错误,欢迎指正! 一、决策树学习基本算法 二、 信息增益的计算 1.信息熵 “信息熵”(information entropy)是度量样本集合纯度最常用的一种指标,假定当前样本集合 D 中第 k 类样本所占的比例为 Pk ( k = 1,2,…,| Y | ),则D的信息熵定义为 Ent( D )的值越小, D 的纯度越高。 2.信息增益 假定离散属性 a 有 V 个可能的值 a1,a2,…,aV ,若使用 a 来对样本集D进行划分,则会产生 V 个分支节点,其中第 v 个分支节点包含了 D 中所有在属性 a 上取值为 av 的样本,记为 Dv ,这时可以计算出 Dv 的信息熵,同时考虑到不同的分支结点所包含的样本数不同,给分支结点赋予权重| Dv |/| D |,即样本数越多的分支结点的影响越大,于是可计算出用属性a对样本集D进行划分所获得的“信息增益”(information gain) 3.划分属性选择 一般而言,信息增益越大,则意味着使用属性 a 来进行划分所获得的“纯度提升”就越大,因此

机器学习之决策树算法

心不动则不痛 提交于 2019-12-19 00:02:51
下表为是否适合 打垒球 的决策表,预测 E= { 天气 = 晴, 温度 = 适中, 湿度 = 正常, 风速 = 弱 } 的场合,是否合适中打垒球。 天气 温度 湿度 风速 活动 晴 炎热 高 弱 取消 晴 炎热 高 强 取消 阴 炎热 高 弱 进行 雨 适中 高 弱 进行 雨 寒冷 正常 弱 进行 雨 寒冷 正常 强 取消 阴 寒冷 正常 强 进行 晴 适中 高 弱 取消 晴 寒冷 正常 弱 进行 雨 适中 正常 弱 进行 晴 适中 正常 强 进行 阴 适中 高 强 进行 阴 炎热 正常 弱 进行 雨 适中 高 强 取消 如何发现这些数据之中所掩藏的规律,从而较好的预测在给定条件下,所可能的结果。决策树是一种以示例为基础的归纳学习方法,能够较好的解决这类问题。 一个简单的例子 请给出布尔函数( A * -B ) + C ( + :或, * :与, - 非)的最小体积(或结点)决策树。 当C 为 1 时, AB 不管取何值整个表达式都为真,此时这个表达式就可以确定真假,所以选择 C 作为头结点。若 C 为 0 ,表达式无法确定真假,还需进一步看 AB 的取值, A 与非 B 是与的关系,两者具有相同的地位,所以接下来无论取 A 还是 B 都可以,整个决策树构造结果如下图所示。 类似于这个简单例子对于打垒球这些数据,我们可以将天气,温度,湿度,风速(可以成为属性或特征

集成学习 - 决策树-随机森林

情到浓时终转凉″ 提交于 2019-12-18 20:12:22
认识 我觉得决策树+ 随机森林 应该是 ML 中最为重要的算法之一了吧, 反正我是很喜欢用的. 算法难度低, 可解释性很强, 能可视化 能处理非线性, 可扩展为随机森林(集成学习) 建立决策树的判别依据有很多, 比较主流的有经典的 ID3 算法(熵), C4.5 , 基尼系数等. 我是这种基于熵的理解了, 上学时学过熵的概念, 在<> 和 <> 有讲到. 其余的也没仔细看, 暂时能深入理解一个就可以了. 信息熵 衡量信息的不确定性 或 混乱程度的指标 不确定性越大, 则熵值越大 直观认知 举几个栗子: a. 大海捞针: 几乎不可能, 熵值很大 b. 扔一次硬币: 不确定性也很大, 熵值很大 c. 詹姆斯强攻篮下: 进球概率大, 不确定性很小, 因此熵值小 d. 斗地主时我已经推出对方剩下的牌: 这个信息量就很大了, 对于局势不确定性减少, 则熵变小. 通过直观, 我们用 信息熵 这个概念来 衡量信息的不确定性大小 , 如何对这个概念直观定性呢? 信息量,感觉上跟 概率 有关系, 概率很多, 信息量就很多 信息量, 应该是可以 相加 的 信息量, 应该是一个 单调的 信息量, 应该 不能为负数 , 最多只能有, 最差情况是 没有信息含量 , 不能说负吧 理性认知 也可以从系统论的观点来认识 (系统 = 多个元素的 相互联系). 可以肯定一点, 既然跟概率有关, 那 概率取值是 [0