Python决策树之基于信息增益的特征选择示例决策树之基于信息增益的特征选择示例
主要介绍了Python决策树之基于信息增益的特征选择,结合实例形式分析了决策树中基于信息增益的特征选择原
理、计算公式、操作流程以及具体实现技巧,需要的朋友可以参考下
本文实例讲述了Python决策树之基于信息增益的特征选择。分享给大家供大家参考,具体如下:
基于信息增益的特征选取是一种广泛使用在决策树(decision tree)分类算法中用到的特征选取。该特征选择的方法是通过计算
每个特征值划分数据集获得信息增益,通过比较信息增益的大小选取合适的特征值。
一、定义一、定义
1.1 熵熵
信息的期望值,可理解为数据集的无序度,熵的值越大,表示数据越无序,公式如下:
其中H表示该数据集的熵值, pi表示类别i的概率, 若所有数据集只有一个类别,那么pi=1,H=0。因此H=0为熵的最小值,表示
该数据集完全有序。
1.2 信息增益信息增益
熵的减少或者是数据无序度的减少。
二、流程二、流程
1、计算原始数据的信息熵H1
2、选取一个特征,根据特征值对数据进行分类,再对每个类别分别计算信息熵,按比例求和,得出这种划分方式的信息熵H2
3、计算信息增益:
infoGain = H1 - H2
4、根据2,3计算所有特征属性对应的信息增益,保留信息增益较大的特征属性。
三、实例三、实例
海洋生物数据
被分类项被分类项\特征特征 不浮出水面是否可以生存不浮出水面是否可以生存 是否有脚蹼是否有脚蹼 属于鱼类属于鱼类
1 是 是 是
2 是 是 是
3 是 否 否
4 否 是 否
5 否 是 否
3.1 原始数据信息熵原始数据信息熵
p(是鱼类) = p1 =0.4
p(非鱼类) = p2 =0.6
通过信息熵公式可得原始数据信息熵 H1 = 0.97095
3.2 根据特征分类计算信息熵根据特征分类计算信息熵
选择'不服出水面是否可以生存'作为分析的特征属性
可将数据集分为[1,2,3]与[4,5],分别占0.6和0.4。
[1,2,3]可计算该类数据信息熵为 h1=0.918295834054
[4,5] 可计算该类数据信息熵为 h2=0
评论5