特征选择
一,删除低方差的特征
VarianceThreshold是特征选择的简单基准方法。它将删除方差未达到某个阈值的所有特征。默认情况下,它将删除所有零方差特征,即在所有样本中具有相同值的特征。
例如,假设我们有一个具有布尔特征的数据集,并且我们要删除80%以上样本中所有为1或0(打开或关闭)的特征。布尔特征是伯努利随机变量,这些变量的方差由下式给出:
因此我们可以使用阈值进行选择:0.8 * (1 - 0.8)
>>> from sklearn.feature_selection import VarianceThreshold
>>> X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]
>>> sel = VarianceThreshold(threshold=(.8 * (1 - .8)))
>>> sel.fit_transform(X)
array([[0, 1],
[1, 0],
[0, 0],
[1, 1],
[1, 0],
[1,