ID3:
ID3(Iterative Dichotomiser 3) 是一种基本的决策树算法。它可用于对只含离散属性的样本集的分类任务。ID3每次根据信息增益选择最佳划分属性,基于样本该属性值的不同,把样本划分到不同的子结点。任意两个叶结点包含的样本不重叠,所有叶结点包含的样本构成完整训练样本集。
算法步骤:
1.计算属性集中每个属性对应的信息增益。选择最大信息增益对应的属性为当前结点的分割属性。
2.根据训练样本在分割属性上属性值的不同,把训练样本划分到不同的分支结点中。并从属性集中去掉当前分割属性。
3.判断每个分支结点是否满足终止条件,对每个不满足终止条件的分支结点重复步骤1和2。
终止条件:
- 分支结点中所有训练样本都属于同一类
- 当前属性集为空,或所有训练样本在所有属性上取值相同,则将该结点类别设定为样本最多的类别
- 分支结点为空,则将其类别设定为父节点样本最多的类别
熵、信息增益和信息增益比:
1.熵:
熵表示随机变量的不确定性。熵越大,则随机变量的不确定性越大。对于离散变量,变量的取值可能越多,每个取值的概率越接近,则熵越大。
设
则熵
条件熵
2.信息增益与信息增益比
(1).符号:
D={
(xn,yn)|n=1,2,...,N} :训练样本集
{
Yi|i=1,...,S} :所有样本y值的集合
{
Aj|j=1,...,K} :所有样本属性A取值的集合
Di⋅ :所有y值等于 Yi 的训练集
D⋅j :所有属性A值为 Aj 的训练集
Dij :所有y值为 Yi 且属性A值为 Aj 的训练集合
|D| :样本集D中包含的样本个数
(2).已知数据集y值,求数据集的熵