为了使数据更加适合挖掘,需要对数据进行预处理操作,其中包含大量复杂的处理方式:聚集,抽样,维归纳,特征子集选择,特征创建,离散化和二元化和变量变换。
一:聚集
聚集将两个或多个对象合并成单个对象,如将多张表的数据汇集成一张表,同时起到了范围或标度转换的作用。
从统计学的角度来看:相对于被聚集的单个对象,平均值、总数等聚集量有较小的变异性。对于总数,实际变差大于单个对象的(平均)变差,但变差的百分比较小;对于平均值,实际变差小于单个对象的(平均)变差。
聚集的优势是数据集变小,处理时间变少,使聚集的对象或者属性群的行为比未聚集前更加稳定。缺点是可能丢失部分细节。
二:抽样
抽样是一种选择数据对象自己进行分析的方法,常用语数据的事先调查和最终的数据分析。和统计学中使用抽样是因为得到感兴趣的数据集费用太高、太费时间不同的是,数据挖掘中使用抽样可以有效的压缩整体数据量。
有效抽样的原理是:样本具有代表性,有原数据集有近似的或相同的性质,这样使用样本与整个数据集的效果几乎一样。
(一):抽样方法
1:简单随机抽样
无样放回抽样--每个选中项立即从构成总体的所有对象中删除。
有放回抽样--对象被选中时不从总体中删除。此方法较简单,原因是抽样过程中,每个对象被选中的概率是不变的。
在有放回抽样中,相同的对象可能被多次抽出。当样本与数据集相差较小时,两种方法结果差别不太。
2:分层抽样
当总体由不同类型的对象组成,同时每种类型的对象差别很大时,简单随机抽样不能重返的代表不太频繁出现的对象类型,尤其是需要分析所有类型的代表时,需要在样本中适当的提供稀有类以代表不同频率的抽样。
等大小抽样:每个组大小不同,但是每次抽取的对象个数相同。
等比抽样:每一组抽取的对象数量和该组的大小成正比。
(二):抽样与信息损失
当选定完抽样技术后,就需要选择抽样容量。较大的样本容量增大了样本具有代表性的概率。相反,使用较小容量的样本,可能出现特征丢失。
(三):渐进抽样
合适的样本容量可能很难确定,因此有时需要使用自适应或者渐进抽样的方法。这些方法从一个小样本开始,然后增加样本容量直至得到足够容量的样本。该技术部需要在开始就确定正确的样本容量,但是需要评估样本的方法,以确定它是否满足大。
例如使用渐进抽样来评估一个预测模型,模型的准确率随样本容量的增加而增加,但在某一点的准确率的增加趋于稳定,如果希望在稳定点停止增加样本容量,就需要掌握模型准去率随样本逐渐增大的变化情况并通过选取接近当前容量的其他样本,从而估计出与稳定点的接近程度,从而停止抽样。
三:维归约
通过创建新属性,将一些旧属性合并在一起来降低数据集的维度。通过选择旧属性的子集得到新属性,这种维规约称为特征子集选择或特征选择。
(一):维归纳的好处
如果维度(数据属性的个数)较低,许多数据挖掘算法的效果就会更好,一方面因为可以删除不相关的特征并降低噪声,另一方面是因为维灾难(随数据维度的增加,数据在它所占据的空间中越来越稀疏,导致分析变得困难,如分类准确率降低,聚类质量下降等)。
让模型更加容易理解,因为模型可能只涉及较少的属性。
可以更容易让数据可视化,即使没有将数据规约到二维或三维,数据也可以通过观察属性或对三元组属性达到可视化,并且这种组合的数目也会大大减少。
违规约降低了数据挖掘算法的时间和内存需求。
(二):维规约的线性代数技术
将高维空间投影到低维空间,特别是对于连续数据。常用的有主成分分析(PCA),它找出新的属性(主成分),这些属性是原属性的线性组合,是相互正交的,并且捕获了数据的最大变差。奇异值分解(SVD),也常用于维规约,与PCA有关。
四:特征子集选择
降低维度的另一种方法是仅使用特征的一个子集,在冗余特征(重复包含了一个或多个其他属性中的信息)出现时特别有效。
理想的方法是将所有可能的特征子集作为感兴趣的数据挖掘算法输入,然后选取产生最后结果的子集。优点是反应了最终使用的数据挖掘算法的目的和偏爱,但当涉及N个属性的自己多达时,这个方法行不通,需要通过其他三种标准的特征选择方法:
嵌入:把特征选择的过程与分类器学习的过程融合一起,在学习的过程中进行特征选择。常见的使用L1正则化,决策树和支持向量机等。
过滤:独立于学习算法,直接由原始的特征集合求得。先对数据集进行特征选择,排除冗余无关特征,得到特征数据集,然后对其训练学习器,这两个过程是独立的。过滤式特征选择算法会通过数据的本质属性对所有特征进行相应的评分,在评价过程中无需分类器完成,在对给出所有特征赋予相应的评分后,选择评分高的特征用于之后的学习算法中。
单变量过滤式:使用某种评价标准作为度量方式来确定数据集中特征对类别的区分能力。
多变量过滤式:通过考虑特征之间的交互作用来确定特征的重要性。
包装:与学习算法有关,利用学习算法的性能来评价特征子集的优劣。在特征选择的过程中,需要一个分类器,根据分类器性能去衡量特征子集,分类器有决策树,近邻分类器,贝叶斯分类器等。
过滤式算法简单高效,但是缺失与模型的交互性;封装式与模型相结合,结果精确,但是易过拟合;嵌入式有着两者的优点,但是构造起来比较麻烦。
过滤和包装组合式:先使用过滤进行特征选择,去掉不相关的特征,降低特征维度;然后利用包装进行特征选择。
五:特征创建
可以由原来的属性创建新的属性集,新属性的数量可能较少,但能更有效的捕获数据集中的重要信息。
(一):特征提取
由原始数据集创建新的特征集称为特征提取,一般特征提取技术都是高度针对具体领域的,也就是当数据挖掘用于一个较新的领域时候,开发新的特征和提取方法是一个关键的任务。
(二):映射数据到新的空间
使用一种完全不同的视角挖掘数据可能揭示出重要和有趣的特征。
如时间序列数据,常常包含周期模式。当只有单个周期时,噪声不明显,则容易检测到该模式;但当有大量周期时,并且存在大量噪声时,则很难检测这些模式,此时可以实施傅里叶变换(识别时间序列数据中的基本频率),将它转换成频率信息的表示,就能检测到这些模式。
(三):特征构造
有时候原始数据集的特征具有必要的信息,但其形式不适合数据挖掘算法,这种情况下,一个或多个由原始特征构造的新特征可能比原特征更有用。
六:离散化和二元化
有些数据挖掘算法,特别是某些分类算法,要求数据是分类属性形式。发现关联模式的算法要求数据是二元属性形式。常常需要将连续属性变换成分类属性(离散化),并且连续和离散属性可能都需要变换成一个或多个二元属性(二元化)。
七:变量变换
变量变换(也称属性变换)是指用于变量的所有值变换。
参考:
1:《数据挖掘导论》
2: 特征选择与特征子集 - 思想永不平凡