机器学习:8.特征选择

用过滤法对以下数据进行特征选择:

   [[0,2,0,3],

   [0,1,4,3],

   [0,1,1,3]]

要求:

1Variance Thresholdthreshold =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,第四列也是相同的值,那么这些列的区分度就会很微弱,也就不具备分析的价值了。

 

posted @ 2020-04-27 14:25  琴时  阅读(197)  评论(0编辑  收藏  举报