信息增益、信息增益率、基尼系数和误分类错误率计算示例
假设有一个二分类问题,样本集合包含10个样本,其中5个属于正类,5个属于负类。现在我们要根据一个特征对样本进行分类,该特征有4种取值,每种取值下的正负样本分布如下:
| 特征取值 | 正样本数 | 负样本数 | | -------- | -------- | -------- | | A | 2 | 3 | | B | 3 | 1 | | C | 0 | 1 | | D | 0 | 0 |
首先,计算样本集合的熵:
$H(D) = -rac{5}{10}log_2rac{5}{10} - rac{5}{10}log_2rac{5}{10} = 1$
然后,计算各个特征取值的条件熵:
$H(D|A) = -rac{2}{5}log_2rac{2}{5} - rac{3}{5}log_2rac{3}{5} = 0.971$
$H(D|B) = -rac{3}{4}log_2rac{3}{4} - rac{1}{4}log_2rac{1}{4} = 0.811$
$H(D|C) = -rac{1}{1}log_2rac{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_2rac{2}{5} - rac{3}{5}log_2rac{3}{5}} = 0.029$
$Gain_ratio(B) = rac{Gain(B)}{-rac{3}{4}log_2rac{3}{4} - rac{1}{4}log_2rac{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 著作权归作者所有。请勿转载和采集!