最近在数据的预处理中遇到了VarianceThreshold操作,这是sklearn.feature_selection,就是数据特征值选择,为什么会有这种操作呢,其实这是在进行数据分析之前的一种数据预处理作业,以为我们遇到的数据是复杂多变的,有可能会存在很多个特征值,但是并不是每一个特征值都能很好的体现区分度,那么这样的特征值就不存在分析的价值了。

假设某特征的特征值只有0和1,并且在所有输入样本中,95%的实例的该特征取值都是1,那就可以认为这个特征作用不大。如果100%都是1,那这个特征就没意义了。当特征值都是离散型变量的时候这种方法才能用,如果是连续型变量,就需要将连续变量离散化之后才能用。而且实际当中,一般不太会有95%以上都取某个值的特征存在,所以这种方法虽然简单但是不太好用。可以把它作为特征选择的预处理,先去掉那些取值变化小的特征,然后再从接下来提到的的特征选择方法中选择合适的进行进一步的特征选择。

那我们怎么来评判一个特征值是不是存在对分析结果而言的高区分度呢,VarianceThreshold就是来帮我们做这一处理的,这样会简化数据分析的复杂程度,也会使得分析结果更有效的。

下面举一个简单的例子:


def var():var=VarianceThreshold(threshold=1.0)data=var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])print(data)return None
var()

调用函数以后出现的结果是:

[[0][4][1]]

我们发现在三组数据里,我们发现第一列,(注意是观察每一列的数据)全是0,第二列方差小于1,第四列也是相同的值,那么这些列的区分度就会很微弱,也就不具备分析的价值了,而至于threshold的理解,官网上面也给出了具体的解释。

Features with a training-set variance lower than this threshold will be removed. The default is to keep all features with non-zero variance, i.e. remove the features that have the same value in all samples.

如果想了解更多可以访问http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.VarianceThreshold.html

VarianceThreshold相关推荐

  1. 机器学习特征筛选:方差选择法VarianceThreshold

    机器学习特征筛选:方差选择法VarianceThreshold 方差是衡量一个变量的离散程度(即数据偏离平均值的程度大小): 变量的方差越大,我们就可以认为它的离散程度越大,也就是意味着这个变量对模型 ...

  2. 使用方差阈值过滤(VarianceThreshold)进行特征选择、删除方差低于某一阈值的特征、详解及实战

    使用方差阈值过滤(VarianceThreshold)进行特征选择.删除方差低于某一阈值的特征.详解及实战 方差阈值(VarianceThreshold)法是一种过滤特征选择法. 我们有一组数值特性, ...

  3. 特征选择之方差选择法VarianceThreshold

    VarianceThreshold #方差选择法 #使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征.使用feature_selection库的VarianceThresh ...

  4. sklearn.feature_selection.VarianceThreshold 方差过滤踩过的坑

    报错信息: Input contains NaN, infinity or a value too large for dtype('float64'). Input X must be non-ne ...

  5. 特征提取,转换和选择

    特征提取,转换和选择 Extracting, transforming and selecting features This section covers algorithms for workin ...

  6. 机器学习(5)降维 -- 特征选择(低方差过滤与相关系数)与主成分分析(PCA降维)

    目录 一.基础理论 1.降维定义 2.降维对象及目标 二.低方差过滤 1.基础理论 2.API 过程: 1.读取待处理数据集 2.创建低方差过滤转换器(设置过滤阈值) 3.低方差过滤处理 代码 三.相 ...

  7. 【机器学习入门】(12) 特征工程:特征选择、数据降维、PCA

    各位同学好,今天我和大家分享一下python机器学习中的特征选择和数据降维.内容有: (1)过滤选择:(2)数据降维PCA:(3)sklearn实现 那我们开始吧. 一个数据集中可能会有以下问题: ( ...

  8. 最实用的机器学习算法优缺点分析,没有比这篇说得更好了

    AI技术年度盛会即将开启!11月8-9日,来自Google.Amazon.微软.Facebook.LinkedIn.阿里巴巴.百度.腾讯.美团.京东.小米.字节跳动.滴滴.商汤.旷视.思必驰.第四范式 ...

  9. 盘点|最实用的机器学习算法优缺点分析,没有比这篇说得更好了

    对于机器学习算法的盘点,网上屡见不鲜.但目前,还没人能结合使用场景来把问题说明白,而这一点正是本文的目的所在. 文中作者将结合他的实际经验,细致剖析每种算法在实践中的优势和不足. 本文的目的,是务实. ...

  10. 用机器学习神器sklearn做特征工程!

    Datawhale干货 作者:jasonfreak,编辑:数据STUDIO 使用sklearn做特征工程 特征工程是什么? 有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是 ...

最新文章

  1. docker 主进程 日志_[docker]从一个实例,一窥docker进程管理
  2. 非常全面的Android Bitmap知识点梳理
  3. proxool数据库连接池用法
  4. doctype是什么?
  5. JAVA之关于This的用法
  6. 前端:20个 CSS 快速提升技巧
  7. java不要无限循环_java – 看似无限循环终止,除非使用System.out.println
  8. 蜜罐网络(开源汇总)MHN
  9. (实战项目三)新浪网分类资讯爬虫
  10. RDS数据库通过内网导出到其他RDS实例和ESC上的MYSQL数据库(新手运维)
  11. 与饿了么三年“独家合作”即将到期 星巴克正与顺丰、美团等商谈配送合作
  12. 登峰连接程式改坐标软件_数控仿真软件CIMCOEdit常用的操作,新手必看
  13. Leetcode每日一题:176.second-highest-salary(第二高的薪水)
  14. perl处理Excel(跨平台)
  15. centos卸载不必要的程序_新手教程:从Mac上的启动台Launchpad删除应用程序
  16. 10.8 wtx模拟题题解
  17. Linux服务器操作系统 . 文件目录及文件管理
  18. 【sketchup 2021】草图大师的场景优化工具2【草图大师动态组件的详细使用说明和各个函数说明】【重要】
  19. Word中删除指定页的页眉和页脚 + 删除第一页空白页 (简单、有效)
  20. 计算机专业英语2013单词翻译,计算机专业英语课后单词翻译

热门文章

  1. [国家集训队]middle——中位数思维题
  2. 个人博客管理系统详解
  3. android studio必须装c盘吗,Android Studio不占用c盘配置
  4. 电子技术基础——基本共射放大电路
  5. matlab地理数据导入,基于Matlab的栅格地理数据处理-快速入门系列(1)
  6. 数据库系统——数据模型基本概念详解
  7. 解决浏览器打开就是被篡改的桔梗网界面
  8. 感性与容性负载的区别及无功功率补偿
  9. 如何取消html中页眉的下划线,Word文档页眉的横线怎么去掉?页脚的横线怎么去掉?...
  10. R统计绘图-使用rgl或pca3D包绘制3DPCA图