数据归约策略

  • 数据仓库中往往具有海量的数据,在其上进行数据分析与挖掘需要很长的时间
  • 数据归约 
    用于从源数据中得到数据集的归约表示,它小的很多,但可以产生相同的(几乎相同的)效果
  • 数据归约策略 
    维归约 
    数据压缩 
    数值归约 
    离散化和概念分层产生
  • 用于数据归约的时间不应超过或“抵消”在归约后的数据上挖掘节省的时间

维归约

通过删除不相干的额属性和维数减少数据量

  • 属性子集选择 
    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)的更多相关文章

  1. 第七篇:数据预处理(四) - 数据归约(PCA/EFA为例)

    前言 这部分也许是数据预处理最为关键的一个阶段. 如何对数据降维是一个很有挑战,很有深度的话题,很多理论书本均有详细深入的讲解分析. 本文仅介绍主成分分析法(PCA)和探索性因子分析法(EFA),并给 ...

  2. c++ 数据预处理(数据去噪,归一化)

    正态分布3σ原则,把3倍方差之外的点设想为噪声数据来排除. 归一化,将数据经过处理之后限定到一定的范围内,一般都会将数据限定到[0,1]. #include <iostream>#incl ...

  3. 数据预处理 —— padding数据

    1. 论Conv2d()里的padding和Conv2d()前padding的区别及重要性.   小生建议,尽量少用Conv2d()里的填充方式,换成自定义填充方式(强烈建议).   小生为何这样建议 ...

  4. R语言--数据预处理

    一.日期时间.字符串的处理 日期 Date: 日期类,年与日 POSIXct: 日期时间类,精确到秒,用数字表示 POSIXlt: 日期时间类,精确到秒,用列表表示 Sys.date(), date( ...

  5. R语言数据预处理

    R语言数据预处理 一.日期时间.字符串的处理 日期 Date: 日期类,年与日 POSIXct: 日期时间类,精确到秒,用数字表示 POSIXlt: 日期时间类,精确到秒,用列表表示 Sys.date ...

  6. WEKA中的数据预处理

    数据预处理包括数据的缺失值处理.标准化.规范化和离散化处理. 数据的缺失值处理:weka.filters.unsupervised.attribute.ReplaceMissingValues. 对于 ...

  7. 小白学 Python 数据分析(9):Pandas (八)数据预处理(2)

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  8. python data analysis | python数据预处理(基于scikit-learn模块)

    原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Fe ...

  9. Python for Data Analysis 学习心得(三) - 文件读写和数据预处理

    一.Pandas文件读写 pandas很核心的一个功能就是数据读取.导入,pandas支援大部分主流的数据储存格式,并在导入的时候可以做筛选.预处理.在读取数据时的选项有超过50个参数,可见panda ...

随机推荐

  1. SpringMVC之一个简单的例子

    一.一个简单的例子 二.web.xml文件配置 三.spring-mvc.xml文件(等同于struts2的struts文件) 四.login.jsp(登录页面) 五.登录成功的页面(success. ...

  2. php根据出生日期获取年龄

    /** * @param $birthday 出生年月日(1992-1-3) * @return string 年龄 */ function countage($birthday){ $year=da ...

  3. day5字典作业详解

    1.day5题目 1.有如下变量(tu是个元祖),请实现要求的功能 tu = ("alex", [11, 22, {"k1": 'v1', "k2&q ...

  4. easyui datagrid编辑时编辑框自动获取焦点

    onDblClickCell:function(rowIndex, field, val){//双击单元格监听器 $(this).datagrid('beginEdit',rowIndex);//开启 ...

  5. 遇到的一些vue的问题

    一.事件绑定中的事件处理方法后加不加括号问题 1.例如: click事件后加不加括号 a.@click = "getContent" b.@click = "getCon ...

  6. TDH-ssh免密登录

    [root@tw-node118 ~]# ssh-keygen -t rsa -P '' 这个指令会在/root/.ssh下生成id_rsa和id_rsa.pub文件.看一下/root/.ssh下的文 ...

  7. java程序员应该知道的20个有用的库

    https://blog.csdn.net/weixin_43923408/article/details/87885668

  8. JDBC连接中Class.forName("")到底干了什么?

    思考了一个问题,Class.forName("***");到底干了什么? 我们知道Class.forName( )静态方法的目的是为了动态加载类,但是一般来说,一个类forName ...

  9. java中两个map比较

    一 /** * 用map的keySet()的迭代器(性能效率较低) * */ public void compareMap1 (){ Map<String, String> m1 = ne ...

  10. 单个页面Request编码方式的改变,无需改动Web.config~

    搞一个东西,从别人的接口接一段中文,URL传输,怎么都有乱码~~ 得到对方的编码方式是gb2312,于是用HttpUtility.UrlDecode(_smssend_content, System. ...