【机器学习算法应用和学习_2_理论篇】2.1 决策树

时间:2021-07-12 17:59:51

一、原理阐述


算法类型:监督学习_分类算法

输入:标称型

V1.0


  将测试集挨个按特征的特征值划分,计算划分前与划分后的混乱度之差,将差最大的特征作为第一层节点,得到被该特征的特征值划分出来几块数据。再将这几块数据分别按上面的步骤重复进行(递归过程),直到该块都是同一类或特征值用完为止。

二、算法选择


算法 特点&区别
ID3 信息增益为准则来选择划分属性
C4.5 不直接使用信息增益,而是使用增益率来选择最优划分属性
CART 使用基尼指数来选择划分属性

 

三、算法过程


1.这里涉及到信息混乱度,用一个称为“熵”的度量计算。
2.划分前与划分后混乱度的差越大,说明划分后的数据越不混乱,即达到想要的目的,称为“信息增益”。
3.如果特征值都用完了某块数据还不是同一类,可以将类别占比较多的作为该块的类别(即少数服从多少)。
4.特征太多,数据太乱,构建出来的决策树这颗数可能过于“枝繁叶茂”,就存在过拟合问题,泛化能力较差(说人话就是,由于某些少量样本导致了不必要的分支,使得进来的新数据容易被错分,这模型也就不够普适了——所谓的模型越简单越好泛化)。这就需要一个形象地称为“剪枝”的过程,有“先剪枝”和“后剪枝”两种。“先剪枝”就是设定一个阈值,在给树不断加枝干时判断是否小于阈值,小于阈值就不要继续直接按少数服从多少给这一块盖戳结束;“后剪枝”就是决策树构建好之后,再剪掉小于阈值的枝干。

四、特点


 

五、代码