ID3算法
个人博客:www.xiaobeigua.icu
ID3基本思想:
ID3算法需要解决的问题是如何选择特征作为划分数据集的标准。在ID3算法中,选择信息增益最大的属性作为当前的特征对数据集分类。信息增益的概念将在下面介绍,通过不断的选择特征对数据集不断划分;
Id3基本步骤:
1. 计算类别信息熵
类别信息熵表示的是所有样本中各种类别出现的不确定性之和。根据熵的概念,熵越大,不确定性就越大,把事情搞清楚所需要的信息量就越多。
2. 计算每个属性的信息熵
每个属性的信息熵相当于一种条件熵。他表示的是在某种属性的条件下,各种类别出现的不确定性之和。属性的信息熵越大,表示这个属性中拥有的样本类别越不“纯”。
3. 计算信息增益
信息增益的 = 熵 - 条件熵,在这里就是 类别信息熵 - 属性信息熵,它表示的是信息不确定性减少的程度。如果一个属性的信息增益越大,就表示用这个属性进行样本划分可以更好的减少划分后样本的不确定性,当然,选择该属性就可以更快更好地完成我们的分类目标。
信息增益就是ID3算法的特征选择指标。
ID3算法优缺点:
优点:
1.假设空间包含所有的决策树,搜索空间完整。
2.健壮性好,不受噪声影响。
3.可以训练缺少属性值的实例。
缺点:
1.ID3只考虑分类型的特征,没有考虑连续特征,比如长度,密度都是连续值,无法在ID3运用。这大大限制了ID3的用途。
2.ID3算法对于缺失值没有进行考虑。
3.没有考虑过拟合的问题。
ID3例子:
.
1.系统信息熵:(是,否为好瓜的两个属性)
2.每个特征的信息熵:(以色泽为例)(先计算出3 个属性的信息熵,依次为:青绿,乌黑,浅白)
然后,结合3 个属性,计算出特征为色泽的信息熵:
信息增益大,代表着熵小,所以确定性较高。
3得出决策结果
但是,当我们使用ID编号作为一个特征量的时候
´得到信息熵:
´信息增益为:
所以需要使用编号作为根节点吗?显然不可能。