机器学习小组知识点26:数据预处理之数据规约(Data Reduction)

数据归约策略

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

维归约

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

  • 属性子集选择
    1找出最小的属性集,使得数据类的概率分布尽可能接近所有属性的原分布
    2 减少出现在出现模式上的属性的数目,使得模式更容易于理解
  • 启发式的(探索性的)方法
    逐步向前选择
    逐步向后删除
    向前选择和向后删除相结合
    判定归纳树(分类算法)
    基于统计分析的归约:主成分分析,回归分析

数据压缩

  • 有损压缩 vs 无损压缩
  • 字符串压缩
    有广泛的理论基础和精妙的算法
    通常是无损压缩
    在解压缩前对字符串的操作非常有限
  • 音频/视频 压缩
    通常是有损压缩,压缩精度可以递进选择
    有时候可以在不解压整体数据的情况下,重构某个片段
  • 两种有损数据压缩的方法: 小波变换和主要成分分析

数值归约

  • 通过选择替代的、较小的数据表示形式来减少数据量
  • 有参方法:使用一个参数模型估计数据,最后只要存储参数即可。
    线性回归方法
    多元回归
    对数线性模型:近似离散的多维数据概率分布
  • 无参方法
    直方图
    聚类
    选样

主成分分析

增加该节主要是现用最流行的降维方法
1. 设原始变量

X1,X2,,Xp

n 次观测数据矩阵为:
x11x21xn1x12x22xn2x1px2pxnp

2. 将数据进行中心标准化
3. 求相关系数矩阵 R ,
R=(rij)p×p

rij=Σnk=1(xkix¯)(xkjx¯)Σnk=1(xkix¯)2Σnk=1(xkjx¯)2

其中,
rij=rji,rii=1

4. 求 R 的特征根
λ1λ2λp0

5. 确定主成分个数 m
根据实际情况,选取 α
Σmi=1λiΣpi=1λiα

6. 计算 m 个相应的单位特征向量
βi=[β1i,β2i,,βpi]

其中, i 从1到 m
7. 计算主成分:
Zi=β1iX1+β2iX2++βpiXp

实际上是 X 设计矩阵向特征空间上面的投影,因为,
Z=βTX

主成分相关的程序-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) #复原数据

你可能感兴趣的:(机器学习,数据挖掘)