Python方差特征过滤的实例分析
作者:小妮浅浅 发布时间:2021-08-11 01:12:56
标签:Python,方差特征,过滤
说明
1、通过特征本身的方差来筛选特征。特征的方差越小,特征的变化越不明显。
2、变化越不明显的特征对我们区分标签没有太大作用,因此应该消除这些特征。
实例
def variance_demo():
"""
过滤低方差特征
:return:
"""
# 1. 获取数据
data = pd.read_csv('factor_returns.csv')
data = data.iloc[:, 1:-2]
print('data:\n', data)
# 2. 实例化一个转换器类
transfer = VarianceThreshold(threshold=10)
# 3. 调用fit_transform()
data_new = transfer.fit_transform(data)
print('data_new:\n', data_new, data_new.shape)
return None
知识点扩充:
方差过滤法
VarianceThreshold 是特征选择的一个简单基本方法,其原理在于–底方差的特征的预测效果往往不好。而VarianceThreshold会移除所有那些方差不满足一些阈值的特征。默认情况下,它将会移除所有的零方差特征,即那些在所有的样本上的取值均不变的特征。
sklearn中的VarianceThreshold类中重要参数 threshold(方差的阈值),表示删除所有方差小于threshold的特征 #不填默认为0——删除所有记录相同的特征。
import pandas as pd
import numpy as np
np.random.seed(1) #设置随机种子,实现每次生成的随机数矩阵都一样
a= np.random.randint(0, 200,10)
b= np.random.randint(0, 200,10)
c= np.random.randint(0, 200,10)
d= [9,9,9,9,9,9,9,9,9,9]
data=pd.DataFrame({"A" : a,"B" : b,"C" : c,"D" : d})
data
from sklearn.feature_selection import VarianceThreshold
sel_model = VarianceThreshold(threshold = 0)
#删除不合格特征之后的新矩阵
sel_model.fit_transform(data)
来源:https://www.py.cn/jishu/jichu/32599.html
0
投稿
猜你喜欢
- 阅读上一篇教程:WEB2.0网页制作标准教程(7)CSS学习入门 CSS布局与传统表格(table)布局最大的区别在于:原来的定位都是采用表
- 本文实例讲述了Python实现的用户登录系统功能。分享给大家供大家参考,具体如下:有N,E,Q三个选择,若选择Q或者中断,则系统退出。若其他
- 1.首先通过控制面板应用卸载当前环境下的Node.js相关安装,并清理磁盘残存的文件夹等文件2.下载nvm来管理node版本 &
- 导言DataList的编辑界面由EditItemTemplate里的标记语言和web控件定义。在目前为止所做的DataList编辑功能的例子
- 写过一篇"正则表达式30分钟入门教程",有读者问:[^abc]表示不包含a、b、c中任意字符, 我想实现不包含字符串ab
- Git是一个开源的分布式版本控制系统,用于高效的管理各种大小项目和文件。有着管理多样化、分享速度快、数据
- try 块允许您测试代码块以查找错误。except 块允许您处理错误。finally 块允许您执行代码,无论 try 和 except 块的
- 一、简介我们来看看对 Vuex 比较专业的介绍:Vuex 是一个专为 Vue 开发的应用程序的状态管理模式,它采用集中式存储管理应用的所有组
- vue登录页面回车执行事件@keyup.enter.native<el-form ref="loginForm"
- 关于Mysql的触发器,基本上每个Mysql教程里都有讲到,但是我发现那些教程里讲的都是如何处理其他表的数据。在Mysql中写触发器操作本表
- 一、概念它们都是Element的属性,表示元素的宽度:Element.clientWidth 内容+内边距-滚动条
- 数据库的使用过程中由于程序方面的问题有时候会碰到重复数据,重复数据导致了数据库部分设置不能正确设置……方法一以下为引用的内容:declare
- 写程序的人在编写由asp页面生成静态页面html的时候,如果同时生成大量页面,一定遇到过浏览器下方的进度条上显示着3%,6%,10%等缓慢增
- Prometheus 为开发这提供了客户端工具,用于为自己的中间件开发Exporter,对接Prometheus 。目前支持的客户端GoJa
- 1. 复制表结构及其数据:create table table_name_new as select * from table_name_o
- 前言:python由于GIL(全局锁)的存在,不能发挥多核的优势,其性能一直饱受诟病。然而在IO密集型的网络编程里,异步处理比同步处理能提升
- 1,在Python中将integer数转化为罗马数说明:在罗马数中(3999以内),和阿拉伯数字相似,可以把它分解为个位,十位,百位,千位,
- 加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysda
- 引言一波未平,一波又起。金融公司的业务实在是太引人耳目,何况我们公司的业处正处于风口之上(区块链金融),并且每天有大量现金交易,所以不知道有
- 本文实例讲述了原生JS实现Ajax通过GET方式与PHP进行交互操作。分享给大家供大家参考,具体如下:一、代码conn.php<?ph