拓冰建站拓冰建站
首页 / 资讯中心 / 正文

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

数据规约在大数据集上进行复杂的数据分析和挖掘需要很长时间数据规约产生更小但保持原数据完整性的新数据集。在规约后的数据集上进行分析和挖掘将更有效率。数据规约的意义在于降低无效、错误数据对建模的影响提高建模的准确性少量且具代表性的数据将大幅缩减数据挖掘所需要的时间降低存储数据的成本。一、属性规约属性规约通过属性合并来创建新属性维数或者直接通过删除不相关的属性维来减少数据维数从而提高数据挖掘的效率、降低计算成本。属性规约的没有标是寻找出最小的属性子集并确保新数据子集的概率分布尽可能地接近原来数据集的概率分布。属性规约常用方法方法描述方法解析合并属性将一些旧属性合并为新属性逐步向前选择从一个空属性集开始每次从原来属性集合中选择一个当前最优的属性添加到当前属性子集中。直到无法选择出最优属性或满足一定阈值约束为止逐步向后删除从一个全属性集开始每次从当前属性子集中选择一个当前最差的属性并将其从当前属性子集中消去。直到无法选择出最差属性为止或满足一定阈值结束为止。决策树归纳利用决策树的归纳方法对初始数据进行分类归纳学习获得一个初始决策树所有没有出现在这个决策树上的属性均可认为是无关属性因此将这些属性从初始集合中删除就可以获得一个较优的属性子集。主成分分析用较少的变量去解释原始数据中的大部分变量即将许多相关性很高的变量转化成彼此相互独立或不相关的变量。逐步向前选择、逐步向后删除和决策树归纳是属于直接删除不相关属性维的方法。主成分分析是一种用于连续属性的数据降维方法它构造了原始数据的一个正交变换新空间的基底去除了原始空间基底下数据的相关性只需使用少数新变量就能够解释原始数据中的大部分变异。在应用中通常是选出比原始变量个数少能解释大部分数据中的变量的几个新变量即所谓的主成分来代替原始变量进行建模。主成分分析计算步骤python中的主成分分析函数参数说明参数类型意义n_componentsint或者string,缺省时默认为None,所有成分被保留。赋值为int,比如n_components1将把原始数据降到一个维度。赋值为String比如n_components‘mle’,将自动选取特征个数N使得满足所要求的方差百分比。PAC算法中所要保留的主成分个数n,即保留下来的特征个数n。copybool,True或者False,缺省时默认为True表示是否在运行算法时将原始数据复制一份。若为True,则 运行PCA算法后原始训练数据的值不会有任何改变因为是在原始数据的副本上进行运算若为False,则运算PCA算法后原始训练数据的值会改变因为是在原始数据上进行降维计算whitenbool,缺省时默认为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_)输出从运行结果可以得到特征方程有7个特征根、对应的7个特征向量以及各个成分各自的方差百分比也称为贡献率。其中方差百分百越大说明向量的权重越大。当选取前四个主成分时累计贡献率已经达到97.37%说明选取前三个主成分进行计算已经相当不错了因此可以重新建立PCA模型设置n_components3,计算出成分结果。原始数据从8维被降维到3维关系式由公式4-27确定同时这三维数据占了原始数据95%以上的信息。二、数值规约数值规约指通过选择替代的、较小的数据来减少数据量包括有参数方法和无参数方法两类。有参数方法是使用一个模型来评估数据只需要存放参数而不需要存放实际数据例如回归线性回归和多元回归和对数线性模型近似离散属性集中的多维概率分布。无参数方法就需要存放实际数据例如直方图、聚类、抽样等采样。1参数回归简单线性模型和对数线性模型可以用来近似描述给定的数据。简单线性模型对数据建模使之拟合一条直线。实例对数线性模型用来描述期望频数与协变量指与因变量有线性相关并在探讨自变量与因变量关系时通过统计技术加以控制的变量之间的关系。考虑期望频数m取值在0到正无穷之间故需要进行对数变换为使他的取值在之间。对数线性模型一般用来近似离散的多维概率分布。在一个n元组的集合中每个元组可以看作使n维空间的一个点。可以使用对数线性模型基于维组合的一个较小子集估计离散化的属性集的多维空间中每个点的概率这使得高维数据空间可以由较低维空间构造。因此对数线性模型也可以用于维规约由于低维空间的点通常比原来的数据点占据较少的空间和数据光滑因为与较高维空间的估计相比教底低维空间的聚集估计较少受抽样方差的影响。2直方图直方图使用分箱来近似数据分布是一种流行的数据规约形式。属性A的直方图将A的数据分布划分为不相交的子集或桶。如果每个桶只代表单个属性值/频率对则该桶称为单桶。通常桶表示给定属性的一个连续区间。实例3聚类聚类技术将数据元组即记录数据表中的一行视为对象。它将对象划分为簇使一个簇中的对象相互“相似”而与其他簇中的对象“相异”。在数据规约中用数据的簇替换实际数据。该技术的有效性依赖于簇的定义是否符合数据的分布性质。4抽样抽样也是一种数据规约技术他用比原始数据小得多的随机样本子集表示原始数据集。假定原始数据集D中包含N个元组可以采用抽样方法对D进行抽样。常用抽样方法S个样本无放回简单随机抽样从D的N个元组中抽取S个样本SN,其中D中任意元组呗抽取的概率均为1/N即所有元组的抽取是等可能的。S个样本有放回简单随机抽样类似于无放回简单随机抽样不同在于每次一个元组从D中抽取后记录它然后放回原处。聚类抽样如果D中的元组分组放入M个互不相交的“簇”则可以得到S个簇的简单随机抽样其中SM。例如数据库中元组通常一次检索一页这样每页就可以视为一个簇。分层抽样如果D划分成互不相交的部分称作层则通过对每一层的简单随机抽样就可以得到D的分层样本。例如可以得到关于顾客数据的一个分层样本按照顾客的每个年龄组创建分层。用于数据规约时抽样最常用来估计聚集查询的结果。在指定的误差范围内可以确定使用中心极限定理估计一个给定的函数所需的样本大小。通常样本的大小S相对于N非常小。而通过简单的增加样本大小这样的集合可以进一步求精。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门