zoukankan      html  css  js  c++  java
  • 特征选择法之方差选择

    from sklearn.feature_selection import  VarianceThreshold
    X=[[100,1,2,3],
           [100,4,5,6],
           [100,7,8,9],
           [101,11,12,13]]
    selector=VarianceThreshold(1)#方差为1
    selector.fit(X)#训练
    print("Variances is %s"%selector.variances_)
    print("After transform is %s"%selector.transform(X))#筛选结果
    print("The surport is %s"%selector.get_support(True))#保留下来哪些列
    print("After reverse transform is %s"%selector.inverse_transform(selector.transform(X)))

    使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。

    方差过滤可以使用在巨大的稀疏矩阵中,稀疏矩阵中可以考虑将方差的过滤阈值设置为0,这样就会将稀疏矩阵中大量特征值为0的特征过滤掉

    在我自己的数据集里特征比较少,才十几个,方差筛选后不到十个,结果在各种boost模型上都翻车了

  • 相关阅读:
    Leetcode Power of Two
    Leetcode Reverse Integer
    Leetcode Add Digits
    Leetcode Roman to Integer
    Python 函数的定义语法
    Python 函数的三种定义方式
    Python 函数的定义与调用
    Python 函数分类
    Python 为什么要使用函数
    Python 文件的二进制读写
  • 原文地址:https://www.cnblogs.com/liuxiangyan/p/14386915.html
Copyright © 2011-2022 走看看