zoukankan      html  css  js  c++  java
  • 8、特征选择

    特征选择的常用方法包括:

    (1)过滤(Filter)

    • 去掉取值变化小的特征
    • 单变量特征选择 

    (2)封装(Wrapper)

    • 递归特征消除

    (3)嵌入(Embedding)

    • 使用SelectFromModel选择特征 
    • 将特征选择过程融入pipeline 

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

                                 [[0,2,0,3],

                                  [0,1,4,3],

                                  [0,1,1,3]]

    其中,

    Variance Threshold(threshold =1.0)为方差选择法,通过sklearn.feature_selection库调用。

    关于threshold

    训练集方差低于此阈值的特征将被删除。默认值是保留所有方差为非零的特征,

    即删除所有样本中具有相同值的特征。

    代码如下:

    1 from sklearn.feature_selection import VarianceThreshold
    2 
    3 X = [[0, 2, 0, 3],
    4      [0, 1, 4, 3],
    5      [0, 1, 1, 3]]
    6 sel = VarianceThreshold(threshold=1.0)
    7 sel.fit_transform(X)

     具体分析——方差选择法

    • 先计算各个特征的方差
    1 import numpy as np
    2 data = np.mat(X)
    3 for i in range(4):
    4     print("第 {0:d}".format(i) + " 列的方差值 {0:f}".format(np.var(data[:, i])))

    • 选择方差大于阈值(threshold =1.0)的特征,即只有第2列满足要求。

  • 相关阅读:
    選定下拉列表的方法
    JAVA学习路线
    封装
    重写(Overriding)
    java内存泄露
    学习实例.文章管理.文章类.Article.java
    方法重载
    学习实例.文章管理.分页查询类.Page.java
    学习实例.文章管理.目标与经验总结
    Java多线程1
  • 原文地址:https://www.cnblogs.com/lxml/p/12802956.html
Copyright © 2011-2022 走看看