数据分析与挖掘笔记(六)------数据预处理之数据规约

数据规约

在大数据集上进行复杂的数据分析和挖掘需要很长时间,数据规约产生更小但保持原数据完整性的新数据集。在规约后的数据集上进行分析和挖掘将更有效率。

数据规约的意义在于:

  • 降低无效、错误数据对建模的影响,提高建模的准确性;
  • 少量且具代表性的数据将大幅缩减数据挖掘所需要的时间;
  • 降低存储数据的成本。

一、属性规约

属性规约通过属性合并来创建新属性维数,或者直接通过删除不相关的属性(维)来减少数据维数,从而提高数据挖掘的效率、降低计算成本。

属性规约的没有标是寻找出最小的属性子集并确保新数据子集的概率分布尽可能地接近原来数据集的概率分布。

属性规约常用方法

方法描述

方法解析

合并属性

将一些旧属性合并为新属性

数据分析与挖掘笔记(六)------数据预处理之数据规约_第1张图片

逐步向前选择

从一个空属性集开始,每次从原来属性集合中选择一个当前最优的属性添加到当前属性子集中。直到无法选择出最优属性或满足一定阈值约束为止

逐步向后删除

从一个全属性集开始,每次从当前属性子集中选择一个当前最差的属性并将其从当前属性子集中消去。直到无法选择出最差属性为止或满足一定阈值结束为止。

决策树归纳

利用决策树的归纳方法对初始数据进行分类归纳学习,获得一个初始决策树,所有没有出现在这个决策树上的属性均可认为是无关属性,因此将这些属性从初始集合中删除,就可以获得一个较优的属性子集。

数据分析与挖掘笔记(六)------数据预处理之数据规约_第2张图片

主成分分析

用较少的变量去解释原始数据中的大部分变量,即将许多相关性很高的变量转化成彼此相互独立或不相关的变量。

 

  • 逐步向前选择、逐步向后删除和决策树归纳是属于直接删除不相关属性(维)的方法。

  • 主成分分析是一种用于连续属性的数据降维方法,它构造了原始数据的一个正交变换,新空间的基底去除了原始空间基底下数据的相关性,只需使用少数新变量就能够解释原始数据中的大部分变异。在应用中,通常是选出比原始变量个数少,能解释大部分数据中的变量的几个新变量,即所谓的主成分,来代替原始变量进行建模。

主成分分析计算步骤:

数据分析与挖掘笔记(六)------数据预处理之数据规约_第3张图片

数据分析与挖掘笔记(六)------数据预处理之数据规约_第4张图片

 

python中的主成分分析函数:

参数说明:

 

参数

类型

意义

n_components

int或者string,缺省时默认为None,所有成分被保留。赋值为int,比如 n_components=1,将把原始数据降到一个维度。赋值为String,比如 n_components=‘mle’,将自动选取特征个数N,使得满足所要求的方差百分比。

PAC算法中所要保留的主成分个数n,即保留下来的特征个数n。

copy

bool,True或者False,缺省时默认为True

 表示是否在运行算法时,将原始数据复制一份。若为True,则 运行PCA算法后,原始训练数据的值不会有任何改变,因为是在原始数据的副本上进行运算;若为False,则运算PCA算法后,原始训练数据的值会改变,因为是在原始数据上进行降维计算

whiten

bool,缺省时默认为False

白化,使得每个特征具有相同的方差

实例:

#-*- coding: utf-8 -*-

#主成分分析 降维

import pandas as pd


#参数初始化

inputfile = '../data/principal_component.xls'

outputfile = '../tmp/dimention_reducted.xls' #降维后的数据

data = pd.read_excel(inputfile, header = None) #读入数据

from sklearn.decomposition import PCA


pca = PCA()

pca.fit(data)

pca.components_ #返回模型的各个特征向量

pca.explained_variance_ratio_ #返回各个成分各自的方差百分比

print(pca.explained_variance_ratio_)

输出:

数据分析与挖掘笔记(六)------数据预处理之数据规约_第5张图片

从运行结果可以得到特征方程有7个特征根、对应的7个特征向量以及各个成分各自的方差百分比(也称为贡献率)。其中,方差百分百越大,说明向量的权重越大。

当选取前四个主成分时,累计贡献率已经达到97.37%,说明选取前三个主成分进行计算已经相当不错了,因此可以重新建立PCA模型,设置n_components=3,计算出成分结果。

数据分析与挖掘笔记(六)------数据预处理之数据规约_第6张图片

原始数据从8维被降维到3维,关系式由公式(4-27)确定,同时这三维数据占了原始数据95%以上的信息。

 

二、数值规约

数值规约指通过选择替代的、较小的数据来减少数据量,包括有参数方法和无参数方法两类。有参数方法是使用一个模型来评估数据,只需要存放参数,而不需要存放实际数据,例如回归(线性回归和多元回归)和对数线性模型(近似离散属性集中的多维概率分布)。无参数方法就需要存放实际数据,例如直方图、聚类、抽样等(采样)。

(1)参数回归

简单线性模型和对数线性模型可以用来近似描述给定的数据。

  • (简单)线性模型对数据建模,使之拟合一条直线。

  • 实例:

数据分析与挖掘笔记(六)------数据预处理之数据规约_第7张图片

  • 对数线性模型:用来描述期望频数与协变量(指与因变量有线性相关并在探讨自变量与因变量关系时通过统计技术加以控制的变量)之间的关系。考虑期望频数m取值在0到正无穷之间,故需要进行对数变换为,使他的取值在之间。

    • 对数线性模型一般用来近似离散的多维概率分布。在一个n元组的集合中,每个元组可以看作使n维空间的一个点。可以使用对数线性模型基于维组合的一个较小子集,估计离散化的属性集的多维空间中每个点的概率,这使得高维数据空间可以由较低维空间构造。因此,对数线性模型也可以用于维规约(由于低维空间的点通常比原来的数据点占据较少的空间)和数据光滑(因为与较高维空间的估计相比,教底低维空间的聚集估计较少受抽样方差的影响)。

 

(2)直方图

    直方图使用分箱来近似数据分布,是一种流行的数据规约形式。属性A的直方图将A的数据分布划分为不相交的子集或桶。如果每个桶只代表单个属性值/频率对,则该桶称为单桶。通常,桶表示给定属性的一个连续区间。

  • 实例

  • 数据分析与挖掘笔记(六)------数据预处理之数据规约_第8张图片

(3)聚类

    聚类技术将数据元组(即记录,数据表中的一行)视为对象。它将对象划分为簇,使一个簇中的对象相互“相似”,而与其他簇中的对象“相异”。在数据规约中,用数据的簇替换实际数据。该技术的有效性依赖于簇的定义是否符合数据的分布性质。

 

(4)抽样

    抽样也是一种数据规约技术,他用比原始数据小得多的随机样本(子集)表示原始数据集。假定原始数据集D中包含N个元组,可以采用抽样方法对D进行抽样。常用抽样方法:

  • S个样本无放回简单随机抽样:从D的N个元组中抽取S个样本(S

  • S个样本有放回简单随机抽样:类似于无放回简单随机抽样,不同在于每次一个元组从D中抽取后,记录它,然后放回原处。

  • 聚类抽样:如果D中的元组分组放入M个互不相交的“簇”,则可以得到S个簇的简单随机抽样,其中S

  • 分层抽样:如果D划分成互不相交的部分,称作层,则通过对每一层的简单随机抽样就可以得到D的分层样本。例如,可以得到关于顾客数据的一个分层样本,按照顾客的每个年龄组创建分层。

用于数据规约时,抽样最常用来估计聚集查询的结果。在指定的误差范围内,可以确定(使用中心极限定理)估计一个给定的函数所需的样本大小。通常样本的大小S相对于N非常小。而通过简单的增加样本大小,这样的集合可以进一步求精。

你可能感兴趣的:(数据分析)