数据预处理之数据规约(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) #复原数据 
posted @ 2018-06-26 20:37  lightmare  阅读(7181)  评论(0编辑  收藏  举报