后面的文章打算只整理算法流程和该算法的思想,因为之前一篇写的自己来看,好像也没写啥东西
决策树前提知识条件
信息熵知识
熵:熵的值越高,数据集中的数据混合度越高,数据混合度越高,说明分类越差
b站的一个视频,我觉得把信息熵讲的挺好,推荐看一下,主要是把具体的含义讲出来了,方便我们理解抽象的公式。
信息公式:
信息公式:
信息熵的公式:
缺点
这个决策树有个缺点,(我自己认为的,也不知道对不对)
当待检测数据集中出现了某个特征没有的值的时候,这个就没有办法分类了
决策树的构建过程
- 先从样本数据集中选出最优的分类特征,这个分类特征的特征名字,作为树的根节点
- 最优特征的选择
- 首先计算样本数据整体的信息熵(作和((每类标签的总数/总样本数)log(每类标签的总数/总样本数)))
- 对每一个特征计算信息熵(作和(特征值的数量/训练集总数*(该特征值子集的信息熵)))
- 计算样本整体信息熵与每个特征信息熵的差值,这个差值越大,说明按这个特征划分后的数据集中类别越少,分类越好
- 选择差值最大的那个特征作为
- 最优特征的选择
- 得到这个特征的所有不重复的取值,每个取值作为这个特征根节点的叶子节点
- 对每个取值,获取这个取值的子训练数据集
- 对子训练数据集,判断该自数据集中的所有样本标签是否为同类数据,若为同一类数据,返回该类的名称,若不为同一类数据,对该子集重复进行1、2、3