数据预处理方法

  数据预处理可以提高数据的质量,从而有助于提高后续学习过程的精度和性能。通常预处理方法包含以下几种:

  1、数据清理

  数据清理通过填充缺失值,光滑噪声,识别离群点,并纠正数据中的不一致等技术来进行这里我们主要介绍缺失值、噪声数据和不一致数据的数据清理方法。

  缺失值填充:缺失值对于无监督学习结果会带来影响,通常采用以下方法进行填充

      1) 删除含有缺失值的样本:无监督学习过程中不使用有缺失值的元组,即在无监督学习过程中删除含有缺失值的样本。此方法的缺点是删除含有缺失值的样本可能使得留下的样本用于学习的样本不能完全正确反映原始数据的分布状态,使得学习结果偏离真实情况,不能发现数据的原始分布。因此该方法不是很有效的样本缺失值处理方法,除非元组有多个属性值空缺时才采用此方法,否则不采用此方法。

    2) 人工填写缺失值:该方法就是人工补充样本的缺失值因此非常费时不适于大规模数据集的无监督学习数据预处理。    

    3) 使用一个全局常量填充缺失值:该方法虽然简单,但并不是很可靠,因为仍然存在偏离数据原始分布信息的问题。从而使得学习结果无法发现所学习数据中隐藏的真实信息。

    4) 使用属性的均值填充缺失值该方法相对上一方法要好些但仍然存在偏离原始数据分布信息的潜在危险

    5) 使用与给定元组同一类的所有样本的属性均值填充相应的缺失值:该方法比使用属性均值填充缺失值更好,更能接近原始数据的分部信息

    6) 使用最可能的值填充缺失值:可以使用回归决策树归纳来确定最有可能的值来填充缺失信息。该方法是填充缺失值的最好方法

 总结以上填充缺失值的方法可见方法3)~6)填充的值都有可能不正确。但与其他方法相比,方法6)是最常用和最可靠的填充缺失值的方法,它使用已有数据的大部分信息来预测缺失值。

    噪声平滑: 噪声 noise )是被测量变量的随机误差或 差。给定一个数值属性,可以使用以下数据光滑技术来平滑噪声

    1) 分箱(binning):通过考察数据的近邻”(即周围的数据值)来光滑存储数据的值。存储的被划分到一些箱中。由于考察近邻的值所以分箱方法进行的是局部光滑。 

    2) 回归法:使用拟合数据函数来光滑数据(如,回归函数)。线性回归涉及找出拟合两个属性的最佳线,使得一个属性能够预测另一个。多元线性回归是线性回归的扩展,涉及多个属性,将数据拟合到一个多维曲面。利用回归方法获得拟合函数,能够帮助平滑数据并消除噪音数据。

    3) 聚类:使用聚类来检测离群点。将相似的样本归为一个类簇,簇内极其相似而簇间极不相似。则落在簇之外的样本被直观地视为离群点

  不一致数据清理:在实际数据库中,由于一些人为因素或者其他原因,记录的数据可能存在不一致的情况,因此,需要对这些不一致数据在分析前需要进行清理。例如,数据输入时的错误,可通过和原始记录对比进行更正。知识工程工具也可以用来检测违反规则的数据。还例如,在已知属性间依赖关系的情况下,可以查找违反函数依赖的值。

  数据清理是一项繁重的任务。数据清理过程的第一步是偏差检测。引起偏差的因素会有多种,如人为错误、数据退化、有意错误等。通过把握数据趋势和识别异常来发现噪音离群点以及考察不寻常的值。除考虑由字段过载引起的错误之外,数据分析还应根据唯一性规则、连续型规则和空值规则考察数据。 


  2、数据集成和数据转换

   随着大数据的出现,将多源数据进行数据集成,并根据需要将数据转换为适于处理的形式进行学习,以发现其中隐藏的潜在模式与规律。我们分别介绍数据集成和数据转换

   数据集成:数据集成需要考虑许多问题,如实体识别问题,主要是匹配来自多个不同信息源的现实世界实体。冗余是另一个重要问题。如果一个属性能由另一个或另一组属性“导出”,则此属性可能是冗余的。属性或维命名的不一致也可能导致结果数据集中的冗余。有些冗余可通过相关分析检测到,如给定两个属性,根据可用的数据度量一个属性能在多大程度上蕴含另一个。常用的冗余相关分析方法有皮尔逊积距系数、卡方检验、数值属性的协方差等。

   皮尔逊积距系数:    

    

  卡方检验


数值属性的协方差



    除检测属性冗余之外,还需要在元组(样本)级检测重复。数据集成的第三个重要问题是数据值冲突的检测与处理。

    数据转换:数据转换将数据转换适于学习的形式。常用的数据转换方法包括:

     数据光滑:使用分箱、回归或聚类技术,去掉数据中的噪声。

     数据聚集:对数据进行汇总或聚集。如聚集日产量数据,计算年和月的产量。

     数据泛化:使用概念分层,用高层概念替换底层或原始数据。

     数据规范化:将属性数据按比例缩放,使之落入一个特定的小区间[-11]区间,[01]区间

属性构造(也称为特征构造):可以构造新的属性并添加到属性集中

 3、数据规约
  

   随着大数据的出现,基于传统无监督学习的数据分析变得非常耗时和复杂,往往使得分析不可行。数据归约技术是用来得到数据集的规约表示,在接近保持原始数据完整性的同时将数据集规模大大减小。对规约后的数据集分析将更有效,并可产生几乎相同的分析结果。常见的数据规约方法有:数据立方体聚集、数据属性子集选择、维规约、数值规约、离散化和概念分层产生。

    数据立方体聚集:聚集操作用于数据立方体结构中的数据。数据立方体存储多维聚集信息。每个单元存放一个聚集值,对应于多维空间的一个数点,每个属性可能存在概念分层,允许在多个抽象层进行数据分析。

 属性子集选择:当待分析数据集含有大量属性时,其中大部分属性与挖掘任务不相关或冗余,属性子集选择可以检测并删除不相关、冗余或弱相关的属性或维。其目标是找出最小属性集,使得数据类的概率分布尽可能地接近使用所有属性得到的原分布。其优点是减少了出现在发现模式的属性数目,使得模式更易于理解。对于属性子集选择,穷举搜索找出最佳属性子集可能是不现实的,因此,常使用压缩搜索空间的启发式算法。这些方法常为贪心算法,在搜索属性空间时总是做当下的最佳选择。策略是做局部最优选择,期望由此导致全局最优解。

 维规约:维度规约使用数据编码或变换得到原数据规约或压缩表示。减少所考虑的随机变量或属性个数 若规约后的数据只能重新构造原始数据的近似表示,则该数据规约是有损的,若可以构造出原始数据而不丢失任何信息,则是无损的。广泛应用的有损维规约方法有:小波变换和主成分分析等。

 数值规约:数值规约通过选择替代的数据表示形式来减少数据量。即用较小的数据表示替换或估计数据。数值规约技术可以是有参的,也可以是无参的。如参数模型(只需要存放模型参数,而不是实际数据)或非参数方法,如聚类、抽样和直方图。

 离散化和概念分层产生:数据离散化将属性值域划分为区间,来减少给定连续属性值的个数。区间的标记可以代替实际的数据值。用少数区间标记替换连续属性的数值,从而减少和简化原始数据,使得无监督学习的数据分析结果简洁,易用,且具有知识层面的表示。近年来,已经研发了多种离散化方法。根据如何进行离散化可将离散化技术进行分类,如,根据是否使用类信息或根据进行方向(即自顶向下或自底向上)分类。若离散化过程使用类信息,则称其为监督离散化;反之,则是非监督的离散化。若先找出一点或几个点(称为分裂点或割点)来划分整个属性区间,然后在结果区间上递归地重复这一过程,则为自顶向下离散化或分裂。自底向上的离散化或合并恰好与之相反。可以对一个属性递归地进行离散化,产生属性值的分层划分,称为概念分层。概念分层对多抽象层学习是有用的。概念分层定义了给定数值属性的离散化,也可以通过收集较高层的概念并用他们替换较低层的概念来规约数据。尽管通过这种数据泛化丢失了细节,但泛化后的数据更有意义,更易于展示。这有助于将多种无监督学习任务的学习结果进行一致表示。此外,与未进行泛化的大型数据集的无监督学习相比,规约后的数据进行无监督学习所需的I/O操作更少,更有效。因此,离散化技术和概念分层作为预处理步骤,在无监督学习之前而不是无监督学习过程中进行。

                               



猜你喜欢

转载自blog.csdn.net/qq_33457248/article/details/79596384