??通过属性A分裂之后样本集的信息增益:InfoGain(S,A)=E(S)?EA(S)
??注:分裂属性的选择标准为:分裂前后信息增益越大越好,即分裂后的熵越小越好 。
4. ID3算法
??ID3算法是一种基于信息增益属性选择的决策树学习方法 。核心思想是:通过计算属性的信息增益来选择决策树各级节点上的分裂属性,使得在每一个非叶子节点进行测试时 , 获得关于被测试样本最大的类别信息 。基本方法是:计算所有的属性,选择信息增益最大的属性分裂产生决策树节点,基于该属性的不同属性值建立各分支,再对各分支的子集递归调用该方法建立子节点的分支 , 直到所有子集仅包括同一类别或没有可分裂的属性为止 。由此得到一棵决策树,可用来对新样本数据进行分类 。
ID3算法流程:
(1) 创建一个初始节点 。如果该节点中的样本都在同一类别,则算法终止,把该节点标记为叶节点,并用该类别标记 。
(2) 否则,依据算法选取信息增益最大的属性,该属性作为该节点的分裂属性 。
(3) 对该分裂属性中的每一个值,延伸相应的一个分支,并依据属性值划分样本 。
(4) 使用同样的过程,自顶向下的递归,直到满足下面三个条件中的一个时就停止递归 。
??A、待分裂节点的所有样本同属于一类 。
??B、训练样本集中所有样本均完成分类 。
??C、所有属性均被作为分裂属性执行一次 。若此时,叶子结点中仍有属于不同类别的样本时,选取叶子结点中包含样本最多的类别,作为该叶子结点的分类 。
ID3算法优缺点分析
优点:构建决策树的速度比较快,算法实现简单,生成的规则容易理解 。
缺点:在属性选择时,倾向于选择那些拥有多个属性值的属性作为分裂属性 , 而这些属性不一定是最佳分裂属性;不能处理属性值连续的属性;无修剪过程 , 无法对决策树进行优化,生成的决策树可能存在过度拟合的情况 。
决策树(Decision Tree) 决策树是一种非参数有监督的机器学习方法python中决策树函数,可以用于解决回归问题和分类问题 。通过学习已有的数据,计算得出一系列推断规则来预测目标变量的值,并用类似流程图的形式进行展示 。决策树模型可以进行可视化,具有很强的可解释性,算法容易理解 , 以决策树为基础的各种集成算法在很多领域都有广泛的应用 。
熵的概念最早起源于物理学,用于度量一个热力学系统的无序程度 。在信息论里面,信息熵代表着一个事件或一个变量等所含有的信息量 。在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少 。
发生概率低的事件比发生概率高的事件具有更大的不确定性,需要更多的信息去描述他们,信息熵更高 。
我们可以用计算事件发生的概率来计算事件的信息 , 又称“香农信息”( Shannon Information ) 。一个离散事件x的信息可以表示为:
h(x) = -log(p(x))
p() 代表事件x发生的概率 , log() 为以二为底的对数函数,即一个事件的信息量就是这个事件发生的概率的负对数 。选择以二为底的对数函数代表计算信息的单位是二进制 。因为概率p(x)小于1,所以负号就保证了信息熵永远不为负数 。当事件的概率为1时,也就是当某事件百分之百发生时,信息为0 。
熵( entropy ),又称“香农熵”( Shannon entropy ),表示一个随机变量的分布所需要的平均比特数 。一个随机变量的信息熵可以表示为:
H(x) = -sum(each k in K p(k)log(p(k)))
K表示变量x所可能具有的所有状态(所有事件) , 将发生特定事件的概率和该事件的信息相乘,最后加和 , 即可得到该变量的信息熵 。可以理解为,信息熵就是平均而言发生一个事件我们得到的信息量大小 。所以数学上,信息熵其实是事件信息量的期望 。
推荐阅读
- chatgpt帮忙回复,帮忙幽默回答
- 为什么手机上会显示一个g,为什么手机上面显示一个g
- 钟情下载,钟情百度
- 手机视频拍摄为什么有黑边,手机视频拍摄为什么有黑边框
- mysql怎么改结果标题 mysql修改列标题
- oracle的日期计算函数,oracle 日期计算
- 3d格斗游戏叫什么,3d 格斗
- nds模拟器不能保存游戏,nds模拟器游戏文件放哪
- python奇偶求和函数 python怎么求奇偶数