一、决策树模型算法
决策树模型算法是一类算法,不单单指的一个算法,最基本也是最主要的是Hunt算法、ID3算法、C4.5算法和CART算法。
决策树算法本质上还是解决分类问题。
分类问题总述:给定一个数据集,我们需要训练出(或建立出)一个模型 f 。当出现一组新的特征向量时,预测(或判断)拥有这样一组新特征向量的对象是属于哪个类别。
决策树分类:对实例进行分类的树形结构。决策树包含节点(node)和有向边组成。节点的类型有两种:内部节点、叶子节点。
内部节点为一个特征或属性的测试条件,叶子节点表示一个分类。
决策树算法包括训练、测试两个阶段
①、训练阶段:用一定的标准和规则将训练集分割为几个子集,然后再以相同的规则去分割每个子集递归处理,直到每个子集只含有属于同一类的样本时停止。训练过程中,每个分割节点需要保存好分类的属性号。
②、测试阶段:将测试样本从根节点开始进行判别,看该样本属于哪个子节点,同样递归地执行下去,直到该样本被分到叶节点中为止,而此时该样本就属于当前叶节点的类别。
决策数是一种监督学习算法。更细分的有二叉决策树和多叉数,更细分的操作还有构造和剪枝。
二、Hunt算法
Hunt算法采用局部最优策略构建决策树,它是 ID3、C4.5和CART算法的基础。
Hunt算法思想:以递归的方式建立决策树。 Dt 是与 t 节点相关的训练集,y1,y2,y3 为类别,递归如下:
(1)如果 Dt 中所有的数据都属于一个类别,则 t 为叶子节点,归属于 yt类别。
(2)如果 Dt 中的数据属于多个类别,则选择一个属性测试条件(选择一个属性来划分),将 Dt 划分成较小的子集。根据测试条件划分的每个输出,创建子节点,将数据分类。若还不满足(1),则继续递归划分。
总结:通俗点就是如果数据集有其他分类,选择一个属性划分,直到将数据集划分成每一个类只包含属于自己类的数据。
三、ID3算法
ID3算法的特点在于以信息增益为准则,选择信息增益最大的属性作为决策属性来划分数据集
- ID3算法要求特征必须为离散化
- 信息增益可以用信息熵,而不是GINI系数(基尼系数)来计算
- 选择信息增益最大的特征,作为树的根节点。
信息增益与信息熵
信息熵:指了解一件事情所需要付出的信息量是多少,该事件不确定性越大,则想要完全了解它所需要的信息量越大信息熵也越大。即表示随机变量的不确定性。不确定性越大,信息熵越大。
信息熵公式:
总结:信息熵就是一件事每个类别的信息I(Xi)乘以它的发生的概率p(Xi)的和。
信息增益:
第一种解释:信息增益是针对