信息增益

数据挖掘-决策树 Decision tree

≯℡__Kan透↙ 提交于 2020-04-04 11:31:30
数据挖掘-决策树 Decision tree 目录 数据挖掘-决策树 Decision tree 1. 决策树概述 1.1 决策树介绍 1.1.1 决策树定义 1.1.2 本质 1.1.3 决策树的组成 1.1.4 决策树的分类 1.1.5 决策过程 1.2 决策树的优化 1.2.1 过拟合 1.3.1 剪枝 2. 理论基础 2.1 香农理论 2.1.1 信息量 2.1.2 平均信息量/信息熵 2.1.3 条件熵 2.1.4 信息增益(Information gain) 2.1.5 信息增益率 (Information Gain Ratio) 2.1.6 基尼系数 3. 决策树算法 3.1 ID3算法 3.1.1 ID3算法简述 3.1.2 熵值对决策的影响 3.1.3 算法思想 3.1.4 递归返回条件 3.1.5 算法步骤 3.1.6 ID3算法缺点 3.2 C 4.5 算法 3.2.1 为什么采用C 4.5 算法? 3.2.2 C4.5对以上缺点的改进 3.2.3 算法思想 3.2.4 算法步骤 3.2.6 决策树C4.5算法的不足与改进 3.3 CART分类/回归树 3.3.1 为什么引入CART分类/回归树 3.3.2 结点选择标准 3.3.3 CART分类树算法对连续特征和离散特征的处理 3.3.4 CART分类树算法思想 3.3.6 CART剪枝 4. 总结 4.1

西瓜书第四章--决策树

痞子三分冷 提交于 2020-03-28 13:06:48
4.1基本流程 决策树的结构 一个决策树包含一个根结点、若干个内部结点和若干个叶结点; 叶结点对应于决策结果,其他每个结点则对应于一个属性测试; 每个结点包含的样本集合根据属性测试的结果被划分到子结点中; 根结点包含样本全集,从根结点到每个叶结点的路径对应了一个判定测试序列。 仅有一层划分的决策树,也称“决策树桩”(decision stump);决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树 决策树学习基本算法 显然,决策树的生成是一个递归过程。在决策树的基本算法中,有三种情形会导致递归返回: (1)当前结点包含的样本全部属于同一类, 无需划分 (2)当前属性集为空,或所有样本在所有属性上取值相同, 无法划分 (3)当前结点包含的样本为空, 不能划分 对各种情形的处理方式: 情形(2):属性集为空或所有样本属性上取值相同 把当前结点标记为叶结点,其类别设定为该结点样本集合中最多的类别; 此为利用当前结点的后验分布 情形(3):样本为空 把当前结点标记为叶结点,其类别设定为父结点样本集合中最多的类别 把父结点的样本分布作为当前结点的先验分布 4.2划分选择 决策树学习的关键在于如何选择最优划分属性也就是第8步。一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高。(也即信息熵越低)

信息论和数理统计——机器学习基础

Deadly 提交于 2020-03-26 18:11:44
目录 一、信息论 熵 信源 信息量 信息熵 条件熵 信息增益 信息增益比 相对熵 最大熵原理 二、数理统计 与概率论的区别 统计推断方式一:参数估计 统计推断方式二:假设检验 一、信息论 信息论处理的是客观世界中的不确定性。 通信的基本问题是在一点精确地或近似地复现在另一点所选取的消息。在生活中,信息的载体是消息。 不同的消息带来的信息在直观感觉上不是完全相同的,比如“马云获得奥赛健美冠军”比“施瓦辛格获得奥赛健美冠军”的信息要大得多。 因为前者是小概率事件,而后者我们已经习以为常。不确定性越大的消息提供的信息量越大。 熵 一个系统内在的混乱程度 信源 产生消息(符号)、消息序列和连续消息的来源。 信息量 信息多少的量度 在信息论中,如果事件A发生的概率为 \(p(A)\) ,则这个事件的自信息量定义为 \(h(A)=−log_2p(A)\) 比如:当 \(p(A\) )为1/1000得出信息量约为10,当 \(p(A)\) 为1/2得出的信息量约为1 信息熵 信息熵是信源可能发出的各个符号的自信息量在信源构成的概率空间上的统计平均值。 根据单个事件的自信息量可以计算包含各个符号的信源的信息熵 如果一个离散信源X包含n个符号,每个符号 \(a_i\) 的取值为 \(p(a_i)\) ,则X的信源熵为 \(H(X)=− \sum_{i=1}^np(a_i)log_2p(a_i)\)

一文帮你搞懂何为信息增益——决策树必备

↘锁芯ラ 提交于 2020-03-23 12:01:33
一、何为决策树 决策树是监督学习算法之一,并且是一种基本的分类与回归方法;决策树也分为回归树和分类树,本文讨论的是分类树。如果了解或者学过数据结构,肯定对"树"这个概念是不陌生的,在此基础上学习掌握决策树也会更加容易,下面通过一个小例子帮助理解何为决策树。 下图所示流程图即为一个决策树,矩形代表判断模块、椭圆形则代表终止模块,表示已经得出结论可以终止程序的运行;左右箭头表示分支,可以通过它到达另一判断模块或终止模块。 这个流程图主要是假想一个择偶系统,之前网上不流行这样一句话嘛," 阿姨我不想努力了 ",该树就以是否想继续努力为判断依据,如果你不想继续努力了,你可以选择找一个" 富婆 ";反之,你想找一个女朋友一起奋斗,这里又以女孩的性格为判断依据,如果喜欢性格温柔的,即选择" 温柔女孩 ",若喜欢性格高冷的,则选择" 酷女孩 "。 整个决策树可以看成一个 if—then 规则,即"如果判断条件,则……",并且需要注意以下三点: 根节点到每一个子节点的路径可构成一条规则。 每条路径上中间节点的特征对应该条规则的判断条件,叶子节点的标签对应该规则的结论。 每一个实例都被有且仅有一条实例覆盖,即实例的特征与路径上的特征一致。 二、决策树的流程 收集数据:公开数据源或爬虫等方式。 准备数据:树构造算法只适用于标称型数据,因此数值型数据必须离散化。 分析数据:可以使用任何方法

3.机器学习之决策树详解

半腔热情 提交于 2020-03-16 13:47:41
本篇博客主要介绍机器学习中的决策树模型。决策树算法在机器学习中算是很经典的一个算法系列。它既可以作为分类算法,也可以作为回归算法,同时也特别适合集成学习比如随机森林。决策树模型是一类算法的集合,在数据挖掘十大算法中,具体的决策树算法占有两席位置,即C4.5和CART算法。 决策树分类的思想类似于找对象。现想象一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话: 女儿:多大年纪了? 母亲:26。 女儿:长的帅不帅? 母亲:挺帅的。女儿:收入高不? 母亲:不算很高,中等情况。 女儿:是公务员不? 母亲:是,在税务局上班呢。 女儿:那好,我去见见。 这个女孩的决策过程就是典型的分类树决策。相当于通过年龄、长相、收入和是否公务员对将男人分为两个类别:见和不见。假设这个女孩对男人的要求是:30岁以下、长相中等以上并且是高收入者或中等以上收入的公务员,那么这个可以用下图表示女孩的决策逻辑:  决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。 决策树是在已知各种情况发生概率((各个样本数据出现中

决策树原理(一)

你说的曾经没有我的故事 提交于 2020-03-04 08:29:53
小伙伴们,欢迎浏览我的博客,从今天开始,我将为大家开始讲解机器学习的基础算法,如决策树、KNN算法、SVM、神经网络等。本节先讲解决策树算法。 一、机器学习中分类与预测算法评估 1、准确率 2、速度 3、强壮性 4、可规模性 5、可解释性 在机器学习算法当中、评价一个算法的好坏或者比较两个算法的优劣,主要以上5个方面进行评估。首先 准确率 是指算法分类或者预测的准确程度,这是个非常重要的标准,而 速度 是指算法的复杂度高不高,其次 强壮行 是指一个算法在包含噪音、缺失值、异常值的数据中依然保持非常好的效率 , 可规模性 是指一个算法不仅可以在小规模数据上保持高效,在呈指数型增长的数据中依然能保持高效,最后 可解释性 是指算法在做出特征值的选取和归类能容易的解释这种归类和我们的直觉是相符的。 二、决策树 1、什么是决策树/判定书(decision tree)? 决策树是类似于流程图的树结构:其中,每个内部节点表示在一个属性上的测试,每个分支表示一个属性的输出,而每个树叶节点表示一个类或者类分布。树的最顶层是根节点。 以上图为例,该决策树的属性有:OUTLOOK、HUMIDITY、WINDY,以OUTLOOK属性为根节点,OUTLOOK有三个取值,即sunny、overcast、rain,根节点的三个分支就是它三个值的输出。决策树有五个叶子,叶子代表已经分好的类,即Play或者Don

机器学习-树模型

亡梦爱人 提交于 2020-03-03 18:30:28
树模型(分类或回归) 决策树 树的基本结构 示例 定义 决策树在分类问题中,表示基于特征对实例空间进行划分的方法。可以视为if-then规则的集合,也可以认为是定义在特征空间和类空间上的条件概率分布。 步骤 特征选择 决定选取哪些特征来划分特征空间。 先引入信息论概念: 信息增益 熵、条件概率、信息增益 对信息增益进行特征选择 选取信息增益最大的特征 特征的信息增益算法 计算数据集D的熵 计算特征的条件熵 计算特征的信息增益 !!!这样的算法特性倾向于选择特征离散量较多的特征,但实际往往是由于特征很多而把y分的很细,因而就有了信息增益比修正算法 信息增益比修正算法 计算数据集D关于特征的熵 计算特征的信息增益比 决策树生成 ID3 基于信息增益特征选择 C4.5 C4.5算法即将ID3中特征选择算法由信息增益替换为信息增益比 过拟合问题 往往树的规模越大,在模型训练中的拟合效果虽然会更好,但模型的泛化能力会下降,因此需要对决策树进行剪枝。 决策树剪枝 极小化决策树整体的损失函数或代价函数 函数定义 混淆矩阵 分类回归树CIRT 假设决策树是二叉树形式,一次特征只能将数据集分为两个类别。 决策树优点 不需要任何领域知识或参数假设 适合高维数据 简单易于理解 短时间内处理大量数据,得到可行且效果较好的结果 决策树缺点 对于各类别样本数量不一致的数据,信息增益偏向于那些具有更多数值的特征

机器学习——由公式看透算法(1)___决策树

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-23 01:16:41
定义 : 决策树学习方法通常是一个递归地选择最优特征,并根据特征对训练数据进行分割,使得各个子集有一个最优的分类过程。决策树学习的实际问题:确定决策树增长的深度;处理连续值得属性;选择一个适当的属性筛选度量标准;处理属性值不完整的训练数据;处理不同代价的属性;提高计算效率。 内容: 决策树学习是应用很广泛的归纳推理算法,是一种逼近离散值函数的方法,对噪声具有很强的健壮性且能够学习析取表达式。初期的决策树学习从表面理解就是处理一些简单的实例分类,当然决策树本质上就是对训练样例进行分类。其中实例具有明确的属性,这样容易确定节点;实例具有离散的输出值,这样才可以进行分类;具有析取表达式,可以用明确的表达式进行表示。 决策树学习是从顶向下进行学习,基本算法是ID3,在进行构造决策树是关键问题是如何选择根节点,分类能力最好的属性被选择为树的根结点。所以如何确定分类能力就,进行判断是决策树构建的关键点。 公式: (1) (2) (3) 其中决策树的核心公式算法为三个,无论是ID3还是C5.4核心是计算这三个公式。 公式解释: 公式(1) :在决策树中是利用信息增益来决定根结点,用 其中P+表示在S中的正例的比例, P-为反例,举例说明14个样例的集合,其中9个正样例,5个反样例,则S相对于布尔分类的熵为: 在熵计算中可以根据比例大小可以估计熵大小,图形如下图: 公式(2)

决策树算法

Deadly 提交于 2020-02-13 00:50:10
本文的结构如下: 决策树构造实例:这个就不详细讲了,大家知道树的结构就行了 ID3:信息增益(有什么问题呢?) C4.5:信息增益率(解决ID3问题,考虑自身熵情况) CART:使用GINI系数来当作衡量标准 决策树的剪枝:预剪枝,后剪枝 文章目录 1. 衡量标准(信息论基础) 2. ID3算法 3. C4.5算法 4. 分类回归树(Classification and Regression Tree, CART) 5. 剪枝 预剪枝 后剪枝 1. 衡量标准(信息论基础) 单一变量的熵—— 多个变量的联合熵—— 条件熵—— 互信息—— I(X,Y) = H(X)-H(X|Y) 如果说H(X)度量了X的不确定性,条件熵H(X|Y)度量了我们在知道Y以后X剩下的不确定性,那么互信息就是度量了X在知道Y以后不确定性减少程度,记为I(X,Y)。 最后用一张图描述四者的关系: 2. ID3算法 在决策树的ID3算法中,互信息I(X,Y)被称为 信息增益 。ID3算法就是用信息增益来判断当前节点应该用什么特征来构建决策树。信息增益大,则越适合用来分类。 分别对各个属性 递归 地计算信息增益,取最大的子节点的分裂属性,最终就可以得到整个决策树。 但是ID3算法中还存在着一些不足之处: ID3没有考虑 连续特征 ,比如长度,密度都是连续值,无法在ID3运用。这大大限制了ID3的用途。

决策树分类回归,ID3,c4.5,CART,及其Python代码

爷,独闯天下 提交于 2020-02-07 00:04:00
决策树分类回归,ID3,c4.5,CART,及其Python代码 决策树模型 内部节点表示一个特征或者属性,叶子结点表示一个类。决策树工作时,从根节点开始,对实例的每个特征进行测试,根据测试结果,将实例分配到其子节点中,这时的每一个子节点对应着特征的一个取值,如此递归的对实例进行测试并分配,直到达到叶节点,最后将实例分配到叶节点所对应的类中。 决策树具有一个重要的性质:互斥并且完备。每一个实例都被一条路径或一条规则所覆盖,而且只被一条路径或一条规则所覆盖,这里所谓覆盖是指实例的特征与路径上的特征一致或实例满足规则的条件。 决策树与条件概率分布 决策树将特种空间划分为互不相交的单元或区域,在每个单元上定义了一个类的概率分布,则构成了条件概率分布。分类时,将该节点的实例强行分到条件概率大的那一类中。 决策树学习就是由训练数据集估计条件概率模型的过程。一个数据集可能对应不想矛盾的多个决策树,通常选择使损失函数最小的决策树。通常现实中决策树学习算法采用启发式方法,近似求解这一优化问题,这样得到的决策树是次优的。 学习算法通常是递归的选择最优特征。首先开始构建根节点,然后将所有训练数据放到根节点中,选择一个最优特征,按照这一特征对数据集分割成子集,使得各个子集有一个在当前条件下最好的分类,如果这个子集已经能够被基本正确分类,则构建叶节点,如果还有子集不能正确分类,则对这些子集选择新的最优特征