返回
决策树剖析——ID3、C4.5 和 CART 构建过程大揭秘(六)
人工智能
2023-09-15 02:04:18
ID3 公共部分代码解读
信息熵
信息熵是衡量数据集混乱程度的度量标准,其计算公式为:
H(D) = -\sum_{i=1}^{m}p_i\log_2p_i
其中,D 为数据集,m 为数据集的类别数,p_i 为第 i 类别的概率。
信息熵的计算
我们以一个简单的二分类数据集为例,该数据集包含 10 个样本,其中 5 个属于第 0 类,7 个属于第 1 类。那么,该数据集的信息熵为:
H(D) = -(5/10)\log_2(5/10) - (7/10)\log_2(7/10) = 0.940
划分数据集
划分数据集是指根据某个特征对数据集进行划分。例如,我们可以根据性别特征将数据集分为男性和女性两部分。
在这个例子中,我们将数据集根据性别特征分为男性和女性两部分。男性数据集包含 3 个第 0 类样本和 2 个第 1 类样本,女性数据集包含 2 个第 0 类样本和 5 个第 1 类样本。
计算信息增益
信息增益是衡量某个特征对数据集分类效果的度量标准,其计算公式为:
G(D, A) = H(D) - H(D|A)
其中,D 为数据集,A 为特征,H(D) 为数据集的信息熵,H(D|A) 为在给定特征 A 的条件下,数据集的信息熵。
信息增益的计算
在这个例子中,我们计算性别特征的信息增益。男性数据集的信息熵为:
H(D_{male}) = -(3/5)\log_2(3/5) - (2/5)\log_2(2/5) = 0.971
女性数据集的信息熵为:
H(D_{female}) = -(2/7)\log_2(2/7) - (5/7)\log_2(5/7) = 0.863
因此,性别特征的信息增益为:
G(D, gender) = H(D) - H(D|gender) = 0.940 - (0.971 + 0.863)/2 = 0.182
构建决策树
构建决策树的过程是一个递归的过程。我们从根节点开始,根据信息增益最大的特征将数据集划分成两个子集。然后,我们对每个子集重复这个过程,直到每个子集都属于同一个类别或无法再划分为止。
在这个例子中,我们首先根据性别特征将数据集划分成男性和女性两部分。男性数据集的信息增益最大,因此我们将男性数据集作为左子树,女性数据集作为右子树。
接下来,我们对男性数据集和女性数据集分别构建决策树。男性数据集的信息增益最大,因此我们将男性数据集根据年龄特征划分成两个子集。女性数据集的信息增益最大,因此我们将女性数据集根据收入特征划分成两个子