机器学习: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={}时:
".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,第四列也是相同的值,那么这些列的区分度就会很微弱,也就不具备分析的价值了。

原文地址:https://www.cnblogs.com/zhif97/p/12786485.html