Scikit-learn提供了一个VarianceThreshold特征选择模块,可以用来过滤掉低方差的特征。
使用VarianceThreshold模块前,需要先定义一个threshold值,用来指定过滤掉低方差的特征。定义好threshold值后,就可以开始使用VarianceThreshold模块了。使用方法如下:
from sklearn.feature_selection import VarianceThreshold # 定义一个threshold值 threshold = 0.8 # 实例化VarianceThreshold vt = VarianceThreshold(threshold) # 使用VarianceThreshold模块对数据进行过滤 X_new = vt.fit_transform(X)
VarianceThreshold模块会自动过滤掉低方差的特征,输出的X_new就是过滤后的结果。
下面我们来看一个示例,使用VarianceThreshold模块过滤掉低方差的特征。
import numpy as np from sklearn.feature_selection import VarianceThreshold # 定义一个数据集 X = np.array([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]) # 定义一个threshold值 threshold = 0.8 # 实例化VarianceThreshold vt = VarianceThreshold(threshold) # 使用VarianceThreshold模块对数据进行过滤 X_new = vt.fit_transform(X) # 打印结果 print(X_new)
输出结果如下:
[[2 0] [1 4] [1 1]]
从上面的结果可以看出,VarianceThreshold模块成功的过滤掉了低方差的特征,输出的X_new就是过滤后的结果。
本文链接:http://task.lmcjl.com/news/8498.html