决策树中结点的特征选择方法
一、信息增益
信息增益用在ID3决策树中,信息增益是依据熵的变化值来决定的值。
熵:随机变量不确定性大小的度量。熵越大,变量的不确定性就越大。
熵的公式表示:
X的概率分布为P(x=xi) = pi, i=1,2,3...(x可能的取值),随机变量X熵为,并且0log0=1。
条件熵:H(Y|X)表示在随机变量X的条件下随机变量Y的不确定性。
在决策树中,Y即是数据集,X即是某个特征,即条件熵就是数据集在特征A划分条件下的熵。
信息增益:数据集D的熵H(D)与特征A给定条件下D的条件熵H(D|A)之差。g(D|A)=H(D)-H(D|A)
因此根据信息增益决策划分节点时特征选择方法是:对训练数据集D,计算其每隔特征的信息增益,并比较它们的大小,选择信息增益最大的特征。
二、信息增益比
以信息增益作为划分数据集的特征,存在偏向于选择去取值较多的特征的问题,这时候可以使用信息增益比对这一问题进行修正。C4.5决策树正是基于信息增益比进行特征的选择进行结点的分割。
信息增益比定义:特征A对于训练集D的信息增益比定义为信息增益g(D|A)与数据集D关于特征A的值得熵之比。
公式定义:,其中
。
关于为什么信息增益比可以修正信息增益存在偏向去选择取值较多的特征的问题,可以认为当一个特征取值特别多时,会分出很多个子结点,当数据集不是很大时,每个子结点只能有很少的数据,大数定律满足条件性更差,不能体现整体数据集的分布,从而使得不确定性减小,比如这个特征有N个取值,且数据集恰好有N个例子,从而每个结点只有一个数据,从而每点的熵均为0,从而加起来也为0,从而信息增益最大。然而,当数据集十分大足够大时,就不会存在这种问题了。
三、基尼指数(Gini)
CART树分为回归树和分类树,CART分类树结点选择特征进行分裂时选择特征的方法就是基尼指数。
分类问题中,假设有K个类,样本点属于第k类的概率为,则概率分布的基尼指数定义为:
.
基尼指数Gini(D)表示集合D的不确定性,基尼指数Gini(D,A)表示经A=a分割后集合D的不确定性,基尼指数越大,样本集合的不确定性也就越大,与熵类似。
决策树中结点的特征选择方法相关推荐
- 一文介绍机器学习中的三种特征选择方法
作者 | luanhz 来源 | 小数志 导读 机器学习中的一个经典理论是:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.也正因如此,特征工程在机器学习流程中占有着重要地位.广义的特征 ...
- 数据维度爆炸怎么办?详解5大常用的特征选择方法
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Edwin Jarvis,cnblog博客整理 在许多机器学习相关 ...
- 数据维度爆炸怎么办?详解 5 大常用的特征选择方法
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在许多机器学习相关的书里,很难找到关于特征选择的内容,因为特征选择 ...
- 几种特征选择方法的比较,孰好孰坏?
在本文中,重点介绍特征选择方法基于评估机器学习模型的特征重要性在各种不可解释(黑盒)及可解释机器学习方法上的表现.比较了CART.Optimal Trees.XGBoost和SHAP正确识别相关特征子 ...
- 结合Scikit-learn介绍几种常用的特征选择方法
特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减 ...
- 机器学习知识点(三十七)特征选择方法总结
在模型训练中,特征选择是非常重要.样本有限的情况,特征过多计算开销过大:通过特征选择去掉冗余和不相关特征,可提高模型性能降低计算开销.两个字:降维.当然降维后,模型性能应该是提升的.特征选择的最终目的 ...
- python 卡方检验 特征选择_结合Scikit-learn介绍几种常用的特征选择方法
特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减 ...
- 取值方法_数据维度爆炸怎么办?详解 5 大常用的特征选择方法
公众号关注 "ML_NLP"设为 "星标",重磅干货,第一时间送达! 转自 | DataWhale 在许多机器学习相关的书里,很难找到关于特征选择的内容,因为特 ...
- 干货:结合Scikit-learn介绍几种常用的特征选择方法
原文:http://dataunion.org/14072.html 作者:Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮 ...
最新文章
- Python实战 | 送亲戚,送长辈,月饼可视化大屏来帮忙!
- html列表的列选择事件,html5 datalist 选中option选项后的触发事件
- 解读ASP.NET 5 MVC6系列(17):MVC中的其他新特性
- 188tokens_Affiliate 追踪技术: tokens 和 postback URL 设置的教程
- Flutter入门:自定义dialog
- Linux字符设备驱动剖析
- 鸟叔linux命令大全,[鸟哥linux视频教程整理]02_01_linux操作系统及常用命令
- win32开发(添加菜单)
- Java版常用排序算法复杂度
- jenkins设置构建触发器
- 4G 全网通DTU是什么 有哪些功能应用
- 高位在前低位在后是啥意思_精喹禾灵原药报价在25.5万元/吨高位,草甘膦原药保持2.5万元/吨...
- 泰坦尼克号生存预测 (Logistic and KNN)
- 帝国CMS Table '***.phome_ecms_news_data_' doesn't exist
- sapi/cgi/php-cgi,sapi/cgi/php-cgi
- 普林斯顿算法课Part2第四周作业_Boggle
- manjaro和android数据线传数据
- rt-thread i2c 使用教程
- 机器视觉之光源基础知识及光源选型
- Shopee关联广告和关键词广告有什么不同?如何优化广告关键词?