数据预处理之数据规约(Data Reduction)
数据归约策略
- 数据仓库中往往具有海量的数据,在其上进行数据分析与挖掘需要很长的时间
- 数据归约
用于从源数据中得到数据集的归约表示,它小的很多,但可以产生相同的(几乎相同的)效果- 数据归约策略
维归约
数据压缩
数值归约
离散化和概念分层产生- 用于数据归约的时间不应超过或“抵消”在归约后的数据上挖掘节省的时间
维归约
通过删除不相干的额属性和维数减少数据量
- 属性子集选择
1找出最小的属性集,使得数据类的概率分布尽可能接近所有属性的原分布
2 减少出现在出现模式上的属性的数目,使得模式更容易于理解- 启发式的(探索性的)方法
逐步向前选择
逐步向后删除
向前选择和向后删除相结合
判定归纳树(分类算法)
基于统计分析的归约:主成分分析,回归分析
数据压缩
- 有损压缩 vs 无损压缩
- 字符串压缩
有广泛的理论基础和精妙的算法
通常是无损压缩
在解压缩前对字符串的操作非常有限- 音频/视频 压缩
通常是有损压缩,压缩精度可以递进选择
有时候可以在不解压整体数据的情况下,重构某个片段- 两种有损数据压缩的方法: 小波变换和主要成分分析
数值归约
- 通过选择替代的、较小的数据表示形式来减少数据量
- 有参方法:使用一个参数模型估计数据,最后只要存储参数即可。
线性回归方法
多元回归
对数线性模型:近似离散的多维数据概率分布- 无参方法
直方图
聚类
选样
主成分相关的程序-python
import pandas as pd
from sklearn.decomposition import PCA
inputfile = '../data/principal_component.xls'
outputfile = '../tmp/dimention_reducted.xls' #降维后的数据
data = pd.read_excel(inputfile, header = None) #读入数据
pca = PCA()
pca.fit(data)
print pca.components_ #返回模型的各个特征向量
print pca.explained_variance_ratio_ #返回各个成分各自的方差百分比
pca = PCA(3)
pca.fit(data)
low_d = pca.transform(data) #降低唯独
pd.DataFrame(low_d).toexcel(outputfile) #保存结果
pca.inverse_transform(low_d) #复原数据
数据预处理之数据规约(Data Reduction)的更多相关文章
- 第七篇:数据预处理(四) - 数据归约(PCA/EFA为例)
前言 这部分也许是数据预处理最为关键的一个阶段. 如何对数据降维是一个很有挑战,很有深度的话题,很多理论书本均有详细深入的讲解分析. 本文仅介绍主成分分析法(PCA)和探索性因子分析法(EFA),并给 ...
- c++ 数据预处理(数据去噪,归一化)
正态分布3σ原则,把3倍方差之外的点设想为噪声数据来排除. 归一化,将数据经过处理之后限定到一定的范围内,一般都会将数据限定到[0,1]. #include <iostream>#incl ...
- 数据预处理 —— padding数据
1. 论Conv2d()里的padding和Conv2d()前padding的区别及重要性. 小生建议,尽量少用Conv2d()里的填充方式,换成自定义填充方式(强烈建议). 小生为何这样建议 ...
- R语言--数据预处理
一.日期时间.字符串的处理 日期 Date: 日期类,年与日 POSIXct: 日期时间类,精确到秒,用数字表示 POSIXlt: 日期时间类,精确到秒,用列表表示 Sys.date(), date( ...
- R语言数据预处理
R语言数据预处理 一.日期时间.字符串的处理 日期 Date: 日期类,年与日 POSIXct: 日期时间类,精确到秒,用数字表示 POSIXlt: 日期时间类,精确到秒,用列表表示 Sys.date ...
- WEKA中的数据预处理
数据预处理包括数据的缺失值处理.标准化.规范化和离散化处理. 数据的缺失值处理:weka.filters.unsupervised.attribute.ReplaceMissingValues. 对于 ...
- 小白学 Python 数据分析(9):Pandas (八)数据预处理(2)
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- python data analysis | python数据预处理(基于scikit-learn模块)
原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Fe ...
- Python for Data Analysis 学习心得(三) - 文件读写和数据预处理
一.Pandas文件读写 pandas很核心的一个功能就是数据读取.导入,pandas支援大部分主流的数据储存格式,并在导入的时候可以做筛选.预处理.在读取数据时的选项有超过50个参数,可见panda ...
随机推荐
- SpringMVC之一个简单的例子
一.一个简单的例子 二.web.xml文件配置 三.spring-mvc.xml文件(等同于struts2的struts文件) 四.login.jsp(登录页面) 五.登录成功的页面(success. ...
- php根据出生日期获取年龄
/** * @param $birthday 出生年月日(1992-1-3) * @return string 年龄 */ function countage($birthday){ $year=da ...
- day5字典作业详解
1.day5题目 1.有如下变量(tu是个元祖),请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2&q ...
- easyui datagrid编辑时编辑框自动获取焦点
onDblClickCell:function(rowIndex, field, val){//双击单元格监听器 $(this).datagrid('beginEdit',rowIndex);//开启 ...
- 遇到的一些vue的问题
一.事件绑定中的事件处理方法后加不加括号问题 1.例如: click事件后加不加括号 a.@click = "getContent" b.@click = "getCon ...
- TDH-ssh免密登录
[root@tw-node118 ~]# ssh-keygen -t rsa -P '' 这个指令会在/root/.ssh下生成id_rsa和id_rsa.pub文件.看一下/root/.ssh下的文 ...
- java程序员应该知道的20个有用的库
https://blog.csdn.net/weixin_43923408/article/details/87885668
- JDBC连接中Class.forName("")到底干了什么?
思考了一个问题,Class.forName("***");到底干了什么? 我们知道Class.forName( )静态方法的目的是为了动态加载类,但是一般来说,一个类forName ...
- java中两个map比较
一 /** * 用map的keySet()的迭代器(性能效率较低) * */ public void compareMap1 (){ Map<String, String> m1 = ne ...
- 单个页面Request编码方式的改变,无需改动Web.config~
搞一个东西,从别人的接口接一段中文,URL传输,怎么都有乱码~~ 得到对方的编码方式是gb2312,于是用HttpUtility.UrlDecode(_smssend_content, System. ...