站点图标 多伦多书苑

Python机器学习手册:从数据预处理到深度学习

10.1 数值型特征方差的阈值化

问题描述

从一组数值型特征中移除方差较小(即可能包含的信息较少)的特征。

解决方案

挑出方差大于给定阈值的特征:

讨论

方差阈值化(Variance Thresholding,VT)是最基本的特征选择方法之一。这种方法的依据是小方差的特征可能比大方差的特征的重要性低一些。VT方法的第一步是计算每个特征的方差:

其中x是特征向量,xi 代表一个单独的特征值,µ是特征的均值。算出方差后,方差低于阈值的特征会被丢弃。

采用VT方法时需要注意两点。第一,方差不是中心化的(它的单位是特征单位的平方)。因此,如果特征数据集中特征的单位不同(例如,一个特征以年为单位,而另一个特征以美元为单位),那么VT法就无法起作用。第二,方差的阈值是手动选择的,所以必须依靠人工来选择一个合适的阈值(或者使用第12章中的模型选择方法)。可以通过参数variances_来查看每个特征的方差:

最后,如果特征已经标准化(即平均值为0,方差为1),方差阈值将起不到筛选的作用(因为这时特征的方差全部为1):

Author:

退出移动版