在特征选择中,有三类常用的指标:信息增益;信息增益率;和基尼系数。这些指标也是决策树算法的基础。现摘录这三个指标的定义如下:
信息增益(Information Gain)
特征\(T\)为分类系统\(C\)带来的信息增益为:
\[\begin{aligned}
GainEntropy(T) &= Entropy(C) − Entropy(C|T) \\
&= Entropy(C) − \sum_i{p(T_i)Entropy(C|T_i)} \\
\end{aligned}\]
其中,\(Entropy(C)\)为系统关于分类属性\(C\)的信息熵,定义了系统描述某一个分类所需要的平均信息量。计算公式为:
\[Entropy(C) = -\sum_i{p(C_i)\log_2{p(C_i)}}\]
\(Entropy(C|T_i )\)为固定特征\(T=T_i\)下系统关于分类属性\(C\)的条件信息熵,计算公式为:
\[Entropy(C|T_i) = -\sum_j{p(C_j|T_i)\log_2{p(C_j|T_i)}}\]信息增益率(Information Gain Ratio)
特征\(T\)的信息增益是与特征\(T\)的取值个数有着密切联系的。一般来说,特征的取值个数越多,信息增益往往也会越大(极端的例子如用户ID特征)。为了避免这种特征取值个数的不同对特征选择时泛化能力的影响,考虑对信息增益进行一定程度的归一化。这就是信息增益率。
\[GainEntropyRatio(T)=\frac{GainEntropy(T)}{SplitInformation(T)}\]
其中,\(SplitInformation(T)\)为系统关于特征\(T\)的信息熵:
\[SplitInformation(T) = Entropy(T) = -\sum_i{p(T_i)\log_2{p(T_i)}}\]
也就是说,系统描述一个特征所需的信息量越大(表现为特征的分布越分散越平均),这个特征的泛化能力被认为越弱,也就不适合作为模型的特征被选择进来。基尼系数(Gini coefficient)
我们定义一个\(K\)分类系统\(C\)的基尼系数为:
\[Gini(C) = \sum_{i=1}^K{p(C_i)(1-p(C_i))} = 1 - \sum_{i=1}^K{p^2(C_i)}\]
类似信息熵,基尼系数衡量了一个系统的不确定性。高基尼系数意味着一个不确定性高的系统:更加分散和平均的类别分布,和更高的信息量需求(来确定某一个类别)。
我们可以类似的定义基尼系数增益来进行特征选择:
\[GainGini(T) = Gini(C) - \sum_i{p(T_i)Gini(C|T_i)}\]
也可以从基尼系数出发定义基尼系数增益率。这里不再赘述。