【十六】机器学习之路——决策树算法(2)


  上一篇博客机器学习之路——决策树(1)介绍了决策树的基本概念以及决策树的生成法则,今天主要介绍一下三种不同的决策树生成算法:ID3/C4.5/CART。ID3算法是由Quinlan在1986年提出的,C4.5是其在1993年提出的,而CART算法是Breiman等人在1984年提出的。

  三种不同的算法主要区别就是特征选择的标准不同:

  • ID3

  ID3算法的核心是在各个节点应用信息增益准则来选择特征,递归的构建决策树。上一篇博客里决策树的生成其实就是ID3算法,相关细节各位读者可以跳转到机器学习之路——决策树(1)了解。

  • C4.5

  实际上信息增益准则对可取数值较多的属性有所偏好。信息增益的公式如下:

Gain(D,a)=Ent(D)V1|Dv||D|Ent(Dv)

如果可取数值越多,则上式的 V1|Dv||D|Ent(Dv) 越大,最终导致信息增益Gain(D,a)越大。为了减少这种特点可能带来的不良影响,C4.5决策树算法不直接利用信息增益,而是采用”增益率”(Gain Ratio)来选择最优划分属性。增益率定义为:
GainRatio(D,a)=Gain(D,a)IV(a)

其中
IV(a)=V1|Dv||D|log2|Dv||D|

上式IV(a)称为属性a的”固有值”(intrinsic value)[Quinlan,1993]。同样的道理,属性a的可能取值数越多(即V越大),IV(a)的值通常会越大。

  和ID3算法类似,增益率准则同样有个问题,即增益率准则对可取值数目较少的属性有所偏好,因此在C4.5算法中,并不是直接选择增益率大的属性进行划分,而是使用了一个启发式: 先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的属性。

  • CART

  CART(Classification and Regression Tree)决策树使用”基尼指数“(Gini index)来选择划分属性。数据集D的纯度可用基尼值来度量:

Gini(D)=mk=1kkpkpk=1mv=1p2k

  直观来说,Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此,Gini(D)越小,则数据集D的纯度越高。

  属性a的基尼指数定义为:

GiniIndex(D,a)=Vv=1|Dv||D|Gini(Dv)

因此,在决策树划分属性选择的时候,选择基尼指数最小的属性作为最优划分属性。

So much for today!@_@

决策树算法是一种广泛应用于分类和回归的机器学习算法,它基于树形结构对样本进行分类或预测。决策树算法的主要思想是通过一系列的判断来对样本进行分类或预测。在决策树中,每个节点表示一个属性或特征,每个分支代表该属性或特征的一个取值,而每个叶子节点代表一个分类或预测结果。 决策树算法的训练过程主要包括以下步骤: 1. 特征选择:根据某种指标(如信息增益或基尼系数)选择最优的特征作为当前节点的分裂属性。 2. 决策树生成:根据选择的特征将数据集分成若干个子集,并递归地生成决策树。 3. 剪枝:通过剪枝操作来提高决策树的泛化性能。 决策树算法的优点包括易于理解和解释、计算复杂度较低、对缺失值不敏感等。但是,决策树算法也存在一些缺点,如容易出现过拟合、对离散数据敏感等。 下面是一个决策树算法的案例:假设我们要根据一个人的年龄、性别、教育程度和职业预测其收入水平(高于或低于50K)。首先,我们需要将这些特征进行编码,将其转换为数值型数据。然后,我们可以使用决策树算法对这些数据进行训练,并生成一个决策树模型。最后,我们可以使用该模型对新的数据进行分类或预测。例如,根据一个人的年龄、性别、教育程度和职业,我们可以使用决策树模型预测该人的收入水平。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值