机器学习:8.特征选择
用过滤法对以下数据进行特征选择:
[[0,2,0,3],
[0,1,4,3],
[0,1,1,3]]
要求:
1、Variance Threshold(threshold =1.0)
实现代码如下:
from sklearn.feature_selection import VarianceThreshold import numpy as np # 删除低方差的特征函数 def var(data, i): var = VarianceThreshold(threshold=i) data = var.fit_transform(data) print("当threshold={}时:\n".format(i), data) # 主函数 if __name__ == "__main__": # 将列表list转换为 ndarray 数组。 data = np.array([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]) for i in range(2): i = float(i) var(data, i)
测试结果:
结论:我们发现在三组数据里,我们发现第一列,(注意是观察每一列的数据)全是0,第二列方差小于1,第四列也是相同的值,那么这些列的区分度就会很微弱,也就不具备分析的价值了。