使用信息熵构建决策树:外貌特征与魅力关系
首先,根据信息熵的原理,我们需要计算每个特征对于分类的不确定性,即熵值。熵值越小,说明该特征对于分类的影响越大。以身高为例,根据上述八组数据,可以得到如下统计数据:
矮:2个数据,其中1个魅力为'是',1个魅力为'否';
高:6个数据,其中2个魅力为'是',4个魅力为'否'。
则身高的熵值为:
Entropy(身高) = - (2/8 * log2(2/8) + 6/8 * log2(6/8)) = 0.811
同理,可以计算出头发和眼睛的熵值:
Entropy(头发) = - (3/8 * log2(3/8) + 2/8 * log2(2/8) + 3/8 * log2(3/8)) = 1.585
Entropy(眼睛) = - (3/8 * log2(3/8) + 2/8 * log2(2/8) + 3/8 * log2(3/8)) = 1.585
接下来,我们需要确定哪个特征最具有决定性,即使得分类更加准确。这可以通过计算信息增益来实现。信息增益表示加入该特征后分类的不确定性减少的程度。信息增益越大,说明该特征对于分类的影响越大。计算公式如下:
Gain(A) = Entropy(D) - ∑(|Dv|/|D|) * Entropy(Dv)
其中,A表示特征,D表示数据集,Dv表示特征A对应的某个取值的数据子集,|Dv|表示该子集的大小。
以身高为例,可以得到信息增益为:
Gain(身高) = Entropy(总体) - ((2/8 * Entropy(身高为矮)) + (6/8 * Entropy(身高为高))) = 0.143
同理,可以计算出头发和眼睛的信息增益:
Gain(头发) = Entropy(总体) - ((3/8 * Entropy(头发为金色)) + (2/8 * Entropy(头发为深色)) + (3/8 * Entropy(头发为红色))) = 0.048
Gain(眼睛) = Entropy(总体) - ((3/8 * Entropy(眼睛为褐色)) + (2/8 * Entropy(眼睛为蓝色)) + (3/8 * Entropy(眼睛为绿色))) = 0.048
由此可知,身高对于分类的影响最大,应该作为决策树的根节点。
接下来,我们需要对身高的两个取值进行划分,即矮和高。对于身高为矮的子集,可以继续使用上述方法计算头发和眼睛的信息增益,得到:
Gain(头发) = Entropy(矮) - ((1/2 * Entropy(头发为金色)) + (1/2 * Entropy(头发为深色))) = 1.000
Gain(眼睛) = Entropy(矮) - ((1/2 * Entropy(眼睛为褐色)) + (1/2 * Entropy(眼睛为蓝色))) = 1.000
由此可知,头发和眼睛对于矮的子集的分类影响相同,可以任选一个作为子节点。
对于身高为高的子集,同样可以计算头发和眼睛的信息增益,得到:
Gain(头发) = Entropy(高) - ((2/6 * Entropy(头发为深色)) + (4/6 * Entropy(头发为金色))) = 0.459
Gain(眼睛) = Entropy(高) - ((2/6 * Entropy(眼睛为蓝色)) + (4/6 * Entropy(眼睛为褐色))) = 0.459
由此可知,头发和眼睛对于高的子集的分类影响相同,可以任选一个作为子节点。
最终得到的决策树如下:

其中,绿色节点表示叶子节点,即分类结果。
原文地址: https://www.cveoy.top/t/topic/mY4D 著作权归作者所有。请勿转载和采集!