有人能帮我写代码吗?用python删除数据帧中方差为零的变量?
删除具有低方差的功能
X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]
这里有3个布尔特性,每个特性有6个实例。假设我们希望删除那些在至少80%的实例中是常量的实例。一些概率计算表明,这些特征需要具有低于0.8*(1-0.8(的方差。因此,我们可以使用参考:Scikit链接
from sklearn.feature_selection import VarianceThreshold
sel = VarianceThreshold(threshold=(.8 * (1 - .8)))
sel.fit_transform(X)
输出为:
array([[0, 1], [1, 0], [0, 0], [1, 1], [1, 0], [1, 1]])