机器学习算法(二):基于决策树的分类预测

什么是决策树

以二分类任务为例,在决策西瓜是不是好瓜时,有很多特征可以支持我们做出预测,但一般情况下人脑没办法做到同时利用到每一个特征的,而是根据经验先判断一个特征,再判断下一个,依次重复直至可以做出预测或最终特征判断完无法做出预测。这种决策树的关键就是分清各个的特征的轻重缓急。正因为这样的决策过程,判断的顺序的不同、每一步的判断不同都有可能产生不同的决策结果,所以称之为“决策树”。

决策树的生成

1.生成节点node
2.𝑖𝑓 𝐷 中样本全书属于同一类别 𝐶 𝑡ℎ𝑒𝑛 :
3.----将node标记为 𝐶 类叶节点; 𝑟𝑒𝑡𝑢𝑟𝑛
4.𝑖𝑓 𝐴 = 空集 OR D中样本在 𝐴 上的取值相同 𝑡ℎ𝑒𝑛 :
5.----将node标记为叶节点,其类别标记为 𝐷 中样本数最多的类; 𝑟𝑒𝑡𝑢𝑟𝑛
6.从 𝐴 中选择最优划分属性 𝑎∗ ;
7.𝑓𝑜𝑟 𝑎∗ 的每一个值 𝑎𝑣∗ 𝑑𝑜 :
8.----为node生成一个分支,令 𝐷𝑣 表示 𝐷 中在 𝑎∗ 上取值为 𝑎𝑣∗ 的样本子集;
9.---- 𝑖𝑓 𝐷𝑣 为空 𝑡ℎ𝑒𝑛 :
10.--------将分支节点标记为叶节点,其类别标记为 𝐷 中样本最多的类; 𝑡ℎ𝑒𝑛
11.---- 𝑒𝑙𝑠𝑒 :
12.--------以 TreeGenerate( 𝐷𝑣 , 𝐴 { 𝑎∗ })为分支节点

根据决策树的概念及其伪代码,如何选择最优划分属性a*及安排特征的判断先后顺序成为了尤为重要的一点。
这里我们引入了两个概念:“纯度”,“信息熵”。

纯度

根据一步一步的判断,不同的样本会被分类到不同的结点上直至可以被最终分类,即递归返回。我们希望决策树的分支节点所包含的样本尽可能属于同一类别。
纯度:属于同一类别的样本比例。
我们希望的是出现一家独大的结果,而不是百家争鸣。意思是,我们希望是绝大部分的样本属于某一类别,允许少数属于其他类别,因为这样我们仍然可以给该结点定性,将预测时划入该结点的样本决策为 占主要比例的样本所属的类别。

信息熵

信息熵:度量样本集合纯度最常用的一种指标
公式为:
E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k l o g 2 p k Ent(D)=-\sum_{k=1}^{|y|}p_klog_2p_k Ent(D)=k=1ypklog2pk
信息熵越小,则D(数据集)的纯度越高 即要搞清楚所需要的信息越小。这里的搞清楚就是决策分类。

最优划分属性的选择方法

信息增益 ID3

在每次判断时,我们都希望这次判断是可供选择的判断方式中最为高效的,即提供最多的信息可以帮我们快速分类,结合之前的“纯度”即使用某一属性a来进行划分所获得的“纯度提升”最大。而纯度恰恰可以用信息熵来衡量。
所以我们的目标就是: M a x G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D V ) Max Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{|D^v|}{|D|}Ent(D^V) Ma

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值