在数理统计中,方差是测算随机变量离散趋势最重要、最常用的指标,方差是各变量值与其均值离差平方的平均数,它是测算数值型数据离散程度的最重要的方法。

当数据分布比较集中时,各个数据与平均数的差的平方和较小,当数据分布比较分散(即数据在平均数附近波动较大)时,各个数据与平均数的差的平方和较大,方差就较大。因此方差越大,数据的波动越大;方差越小,数据的波动就越小,因此需要优先消除方差为0或较小的特征。

sklearn库中的用于特征选择的函数,使用VarianceThreshold法,先要计算各个特征的方差,然后根据阈值,剔除方差大于阈值的特征。

# -*- coding:utf-8 -*-import numpy as np
import pandas as pd
from sklearn.feature_selection import VarianceThresholdclass VarianceSelect():def __init__(self):pass# 将数据进行0-1标准化def MaxMinTransform(self,data):for var_name in data.columns:mi = data[var_name].min()ma = data[var_name].max()data[var_name] = data[var_name].apply(lambda x: (x - mi) / (ma - mi))return data# 方差特征筛选def VarianceFunc(self,data_final):selector = VarianceThreshold(threshold=0.01)result_select = selector.fit_transform(data_final)result_support = selector.get_support(indices=True)return result_select,result_support# 加载及调用def load_transform(self):path = r'E:\programGao\csdnProgram'data = pd.read_excel(path + '/dataset.xlsx', 'all')print('查看初始数据 : ', data.head())print('查看各变量均值方差 : ', np.mean(data.iloc[:, 2:]), np.var(data.iloc[:, 2:]))data_final = self.MaxMinTransform(data.iloc[:, 2:])print('查看0-1标准化后数据 : ', data_final.head())print('标准化后查看各变量均值方差 : ', np.mean(data_final), np.var(data_final))result_select, result_support = self.VarianceFunc(data_final)print('筛选方差大于0.01的特征 : ', result_select)print('方差筛选后保留特征索引 : ', result_support)if __name__ == '__main__':VarianceSelect().load_transform()
  • 筛选后的结果

数据筛选特征方法-方差法相关推荐

  1. 数据筛选特征方法-决策树法

    决策树类的算法一般都能用来计算特征重要性,通过决策树分类器的特征重要性进行评估. 常用的决策树分类器有:DecisionTreeClassifier,RandomForestClassifier,Ex ...

  2. mysql中常用的筛查语句,使用SQL语句进行数据筛选的方法

    在使用VBA对数据库进行访问时,利用SQL语句能够方便地实现对数据库的查询.本文使用SQL语句实现多条件查询,使用Select语句从"成绩管理.accdb"数据库文件中获取1班中数 ...

  3. Python笔记 | 数据筛选

    无论是在数据分析还是数据挖掘的时候,数据筛选总会涉及到.这里我总结了一下python中列表,字典,数据框中一些常用的数据筛选的方法. 1.列表 案例一:从一个含有数字0-9的列表中筛选出偶数(奇数): ...

  4. 野狗 Sync 分析3 - 数据筛选

    数据筛选分析 数据筛选就是从获取的数据中过滤掉不需要的数据,只拿我们感兴趣的那一部分. 可以对比SQL语句的 where 字句,但是野狗的数据筛选和SQL有很大的区别,接下来我们分析一下野狗的数据筛选 ...

  5. 高维数据中特征筛选方法的思考总结——多变量分析筛选法

    前言:之前的文章(高维数据中特征筛选方法的思考总结--单变量分析筛选法)中,对单变量分析筛选变量进行了初步考量,本文将进一步总结多变量分析筛选法.由于本文多处摘录网上的博客,只是进行了归纳整理,因此笔 ...

  6. 高维数据中特征筛选方法的思考总结——单变量分析筛选法

    基因组学.转录组学.蛋白组学及代谢组学等生信问题(高通量数据)中,面临的第一步往往就是降维(或者说筛选特征).降维方法分为两大类:单变量分析降维法.多变量分析降维法.单变量降维常常使用FC值或者P值, ...

  7. 不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 本文作者:s5248 编辑:杨晓凡 2018-01-19 11:32 导语:即便现代机器学习模型已经很先进了,也别

    不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 雷锋网(公众号:雷锋网) AI 科技评论按:眨眼间我们就从人工特征.专家系统来到了自动特征.深度学习的人工智能新时代,众多 ...

  8. 征信衍生、信用卡数据场景如何做好分析,这一种时序特征方法得学学|金融信用分析师必学内容

    对于银行信用卡中心,存量用户群体的信用卡行为表现信息,是实际业务中有关风控模型或营销分析场景的主要数据来源,例如行为评分模型.营销价值模型.客户流失模型.客户画像描述等.因此,如何有效分析信用卡用户的 ...

  9. R语言对dataframe进行行数据筛选(row selection)多种方案:使用R原生方法、data.table、dplyr等方案

    R语言对dataframe进行行数据筛选(row selection)多种方案:使用R原生方法.data.table.dplyr等方案 目录

  10. python筛选csv数据_pandas数据筛选和csv操作的实现方法

    1. 数据筛选 a b c 0 0 2 4 1 6 8 10 2 12 14 16 3 18 20 22 4 24 26 28 5 30 32 34 6 36 38 40 7 42 44 46 8 4 ...

最新文章

  1. python3 线程池源码解析_5分钟看懂系列:Python 线程池原理及实现
  2. select BUGS
  3. RouterOS和艾泰路由建立ipsec ×××连接
  4. mysql shell 所有表_备份mysql所有数据库的每个表的shell脚本
  5. 产品经理经验谈100篇(二)-数据分析应用,如何构建指标体系?
  6. mysql 不能添加外键 1215_MySQL错误1215:无法添加外键约束
  7. 【C#学习笔记】函数调用
  8. 真正的正数、负数、整数等正则表达式,网上好多都是错的
  9. android 蓝牙 底层api,Android提高之蓝牙隐藏API探秘
  10. 微信小程序独立服务器的好处,微信小程序的优势和缺点
  11. mybatis报错:Could not find resource mapper/UserMapper.xml
  12. hrbp 牵着鼻子走_8招让你不再被职场牵着鼻子走
  13. 人物动作姿势怎么画?
  14. AD使用技巧——如何改变布线走线的角度
  15. 墨者学院—Webmin未经身份验证的远程代码执行(简单复习)
  16. 【双拼打字】双拼对照表
  17. Java基本语法总结
  18. sql 拆分字符串, 表值函数f_split的使用
  19. [JZOJ5539] psy
  20. Android的优化

热门文章

  1. OpenWrt旁路由设置教程
  2. 西安电子科技大学计算机考研历年分数线,西安电子科技大学历年考研分数线汇总[2012-2021]...
  3. java茌首字母_汉字获取拼音首字母(1)
  4. 高电压技术-名词解释题
  5. linux目录权限为rws,Linux-文件权限
  6. rocketmq双主双从----四台服务器
  7. (1) racecar零件购买
  8. 数字锁相环matlab仿真,锁相环仿真_MATLAB仿真程序代码_二阶锁相环仿真过程
  9. linux如何打开pkg软件,Linux系统pkg
  10. 一线城市,前端工程师最低工资2K-3K,最高20K-30K 你怎么看?