假设有一个二分类问题,样本集合包含10个样本,其中5个属于正类,5个属于负类。现在我们要根据一个特征对样本进行分类,该特征有4种取值,每种取值下的正负样本分布如下:

| 特征取值 | 正样本数 | 负样本数 | | -------- | -------- | -------- | | A | 2 | 3 | | B | 3 | 1 | | C | 0 | 1 | | D | 0 | 0 |

首先,计算样本集合的熵:

$H(D) = - rac{5}{10}log_2 rac{5}{10} - rac{5}{10}log_2 rac{5}{10} = 1$

然后,计算各个特征取值的条件熵:

$H(D|A) = - rac{2}{5}log_2 rac{2}{5} - rac{3}{5}log_2 rac{3}{5} = 0.971$

$H(D|B) = - rac{3}{4}log_2 rac{3}{4} - rac{1}{4}log_2 rac{1}{4} = 0.811$

$H(D|C) = - rac{1}{1}log_2 rac{1}{1} - 0 = 0$

$H(D|D) = 0$

然后,计算信息增益:

$Gain(A) = H(D) - H(D|A) = 0.029$

$Gain(B) = H(D) - H(D|B) = 0.189$

$Gain(C) = H(D) - H(D|C) = 1$

$Gain(D) = H(D) - H(D|D) = 1$

接着,计算信息增益率:

$Gain_ratio(A) = rac{Gain(A)}{- rac{2}{5}log_2 rac{2}{5} - rac{3}{5}log_2 rac{3}{5}} = 0.029$

$Gain_ratio(B) = rac{Gain(B)}{- rac{3}{4}log_2 rac{3}{4} - rac{1}{4}log_2 rac{1}{4}} = 0.325$

$Gain_ratio(C) = 1$

$Gain_ratio(D) = 1$

然后,计算基尼系数:

$Gini(A) = 1 - ( rac{2}{5})^2 - ( rac{3}{5})^2 = 0.48$

$Gini(B) = 1 - ( rac{3}{4})^2 - ( rac{1}{4})^2 = 0.375$

$Gini(C) = 0$

$Gini(D) = 0$

最后,计算误分类错误率:

$Error(A) = rac{3}{5} = 0.6$

$Error(B) = rac{1}{4} = 0.25$

$Error(C) = 0$

$Error(D) = 0$

将上述数据整理成表格如下:

| 特征 | 信息增益 | 信息增益率 | 基尼系数 | 误分类错误率 | | ---- | -------- | ---------- | -------- | ------------ | | A | 0.029 | 0.029 | 0.48 | 0.6 | | B | 0.189 | 0.325 | 0.375 | 0.25 | | C | 1 | 1 | 0 | 0 | | D | 1 | 1 | 0 | 0 |

信息增益、信息增益率、基尼系数和误分类错误率计算示例

原文地址: https://www.cveoy.top/t/topic/fYMW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录