数据清洗

主要工作是删除原始数据集中的无关数据、重复数据、平滑噪声数据,筛选掉与挖掘主题无关的数据,处理缺失值异常值等。

  • 缺失值处理: 一般可删除记录、数据插补和不处理。数据插补常用方法如下:

    其中,插值法有Hermite插值、分段插值、样条插值法,而最主要的有拉格朗日插值法和牛顿插值法。
  • 异常值处理: 异常值是否剔除,需视具体情况而定,因为有些异常值可能蕴含着有用的信息。异常值处理常用方法见下表:

数据集成

数据挖掘需要的数据往往分布在不同的数据源中,数据集成就是将多个数据源合并存放在一个一致的数据存储(如数据仓库)中的过程。在数据集成时,来自多个数据源的现实世界实体的表达形式是不一样的,不一定是匹配的,要考虑实体识别问题和属性是不一的,不一定是匹配的,要考虑实体识别问题属性冗余问题,从而把源数据在最低层上加以转换、提炼和集成。

  • 实体识别: 检测和解决同名异义、异名同义、单位不统一的冲突。
  • 属性冗余识别: 主要是解决诸如同一属性多次出现和同一属性命名不一致导致重复的问题, 不同源数据的仔细整合能减少甚至避免数据冗余与不一致,以提高数据挖掘的速度和质量。对于冗余属性要先分析检测到后再将其删除。 有些冗余属性可以用相关分析检测到。给定两个数值型的属性A和B,有些冗余属性可以用相关分析检测到。给定两个数值型的属性A和B,根据其属性值,可以用相关系数度量一个属性在多大程度上蕴含另一个属性。

数据变换

主要是对数据进行规范化的操作,将数据转换成“适当的”格式,以适用于挖掘任务及算法的需要。常有简单函数变换规范化连续属性离散化属性构造小波变换等。以下做各自的说明。

  • 简单函数变换: 就是对原始数据进行某些数学函数变换,常用的函数变换包括平方、开方、对数、差分运算等。常用来将不具有正态分布的数据变换成具有正态分布的数据;在时间序列分析中,有时简单的对数变换或者差分运算就可以将非平稳序列转换成平稳序列。
  • 规范化:数据归一化(标准化),是处理数据挖掘的一项基本工作,主要是为了消除指标间的量纲和取值范围差异的影响,将数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。而且数据规范化对于基于距离的挖掘算法尤为重要。通常方法有最小-最大规范化零-均值规范化小数定标规范化
    (1)连续属性离散化: 也即离差标准化,公式如下:
    x ∗ = x − m i n m a x − m i n x^*=\frac{x-min}{max-min} x∗=max−minx−min​
    其中, m a x max max 和 m i n min min为样本数据的最大值和最小值。该方法保留了原始数据中存在的关系,是消除量纲和数据取值范围影响的最简单的方法,缺点是若数据值集中或某个数值很大,规范化后各值会接近0且相差不大。
    (2)零-均值规范化: 即经过处理后均值为0,标准差为1,公式如下:
    x ∗ = x − x ‾ δ x^*=\frac{x-\overline{x}}{\delta} x∗=δx−x​
    该方法目前使用广泛,不过均值和标准差受离群点影响比较大,因此通常需要修改上述变换,比如用中位数 M M M取代均值,用绝对标准差 δ ∗ = ∑ i = 1 n ∣ x i − W ∣ \delta^*=\sum_{i=1}^{n}{|x_i-W|} δ∗=∑i=1n​∣xi​−W∣,其中 W W W为平均数或中位数。
    (3)小数定标规范化: 通过移动属性值的小数位数,将属性值映射到 [-1,1] 之间,移动的小数位数取决于属性值绝对值的最大值。转化公式为:
    x ∗ = x 1 0 k x^*=\frac{x}{10^k} x∗=10kx​
  • 连续属性离散化: 一些数据挖掘算法要求数据是分类属性形式,因此需要将连续属性变换成分类属性,即连续属性离散化。通常做法就是在数据的取值范围之内设置若干个离散的划分点,将取值范围划分为一些离散化的区间,最后不同的符号或整数值代表落在每个子区间中的数据值,所以离散化设计两个子任务:确定分类数以及如何将连续属性值映射到这些分类值中。常用的方法有等宽法等频法(一维)聚类分析法
    (1)等宽法: 将属性的值域分成具有相同宽度的区间,区间的个数由数据本身的特点决定或者用户指定,类似于制作频率分布表。
    (2)等频法: 将相同数量的记录放进每个区间。
    上述两个方法操作简单但都需要人为地规定划分区间的个数,等宽法的缺点在于对离群点比较敏感,因为离群点的出现会使得有些区间包含许多数据而另一些则数据很少,这样会严重损害所建立的决策模型。等频法避免了该问题,但却可能将相同数据值分到不同的区间以满足每个区间中固定的数据个数。
    (3)(一维)聚类分析法: 首先将连续属性的值用聚类算法(如K-Means)进行聚类,然后再将聚类得到的簇进行处理,合并得到一个簇的连续属性值做同一标记。
  • 属性构造: 即利用已有属性集构造出新的属性,并加到现有的属性集合中,这对于提高挖掘结果的精度很有帮助。
  • 小波变换:

数据规约

即产生更小但保持原数据完整性的新数据集,因为在大数据集上进行复杂的数据分析和挖掘往往需要很长的时间。数据规约包括属性规约数据规约

  • 属性规约: 主要是通过属性合并创建新属性维数,或者直接通过删除不相关的属性维数来减少数据维数,从而提高数据挖掘的效率、降低计算成本。属性规约的目标是寻找出最小的属性子集并确保新数据子集的概率分布、并尽可能地接近原数据集的概率分布,常用方法有合并属性逐步向前选择逐步向后删除决策树归纳主成分分析等。
    (1)合并属性: 将一些旧属性合并为新属性;
    (2)逐步向前选择: 从一个空属性集开始,每次从原来的属性集合中选择一个当前最优的属性添加到当前属性子集中,直到无法选择出最优属性或满足一定阈值约束为止。
    (3)逐步向后删除: 从一个全属性集开始,每次从当前属性子集中选择一个当前最差的属性并删除之,指导无法选出最差属性或满足一定阈值约束为止。
    (4)决策树归纳: 利用决策树归纳方法对初始数据进行分类归纳学习,获得一个初始决策树,所有没有出现在这个决策树上的属性均可认为是无关属性,因此将这些属性从初始集合中删除。
    (5)主成分分析: 将许多相关性很高的变量转换成彼此相互独立或不相关的变量。特征根按从大到小排列之后,可通过累计贡献率 α \alpha α 来确定所要选取的主成分个数,公式如下: α = ∑ i = 1 m λ i ∑ i = 1 p λ i \alpha=\frac{\sum_{i=1}^{m}{\lambda_i}}{\sum_{i=1}^{p}{\lambda_i}} α=∑i=1p​λi​∑i=1m​λi​​
    其中, p p p为原始属性个数, m m m为欲取的属性个数, λ \lambda λ为特征值, α \alpha α为累计贡献率,表示选取这些特征值对应的特征向量之后,其包含的信息所包含的信息占所有属性的信息的百分比。
  • 数值规约: 通过选择替代的、较小的数据来减少数据量,包括有参数方无参数方法,前者指使用一个模型来评估数据,只需存放参数而不需要存放实际数据,无参数方法则需要存放实际数据,如直方图、聚类、抽样、参数回归。

主要处理函数

函数名 功能
interp1() 一维插值
unique() 去除重复元素,得到单值元素列表
find() 找到相应标识的位置
isnan() 判断是否为数值
mapminmax() 最大值最小值的规范化
zscore() 标准差规范化

MATLAB数据分析与挖掘 --数据预处理篇相关推荐

  1. 深度学习——数据预处理篇

    深度学习--数据预处理篇 文章目录 深度学习--数据预处理篇 一.前言 二.常用的数据预处理方法 零均值化(中心化) 数据归一化(normalization) 主成分分析(PCA.Principal ...

  2. Python数据分析中的数据预处理:数据标准化

    [小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python数据分析中的 数据预处理:数据标准化 ● 选择题 以下关于 ...

  3. 【MATLAB数据分析】02数据的中位数和分位数

    引言 在[MATLAB数据分析]01数据的均值.变异度.偏度和峰度一文中我们介绍了均值.方差.标准差等数字特征,它们都是总体相应特征值的一种矩估计,更适合来自正态分布的数据的分析.但若总体的分布未知, ...

  4. 情感分析实战(英文)-数据预处理篇

    情感分析实战(英文)-数据预处理与情感分类模块 背景:该专栏的目的是将自己做了N个情感分析的毕业设计的一个总结版,不仅自己可以在这次总结中,把自己过往的一些经验进行归纳,梳理,巩固自己的知识从而进一步 ...

  5. 目标检测之Faster-RCNN的pytorch代码详解(数据预处理篇)

    首先贴上代码原作者的github:https://github.com/chenyuntc/simple-faster-rcnn-pytorch(非代码作者,博文只解释代码) 今天看完了simple- ...

  6. 基于MATLAB的无人机遥感数据预处理与农林植被性状估算

    目录 第一章:认识主被动无人机遥感数据 第二章:预处理无人机遥感数据 第三章:定量估算农林植被关键性状 第四章:期刊论文插图精细制作与Appdesigner应用开发 在新一轮互联网信息技术大发展的现今 ...

  7. python 三分类的哑编码_python数据挖掘实战 -数据预处理篇(数据可视化-空值填充-哑变量编码)...

    数据预处理包含:数据盘点-数据可视化分析-空值填充-数据编码 import matplotlib.pyplot as plt import seaborn as sns from sklearn.ne ...

  8. Keras学习---数据预处理篇

    1. 数据预处理是必要的,这里以最简单的MNIST dataset的输入数据预处理为例.  A. 设置随机种子      np.random.seed(1337)  # for reproducibi ...

  9. 【TL第二期】动手学数据分析-第二章 数据预处理

    文章目录 第二章 第一节 数据清洗及特征处理 第二节 数据重构1 第三节 数据重构2 第四节 数据可视化 第二章 第一节 数据清洗及特征处理 数据清洗:对于原始数据中的缺失值.异常值进行处理.相当于数 ...

最新文章

  1. [论文笔记] A model for correlated failures in N-version programming(IIE Trans, 2004)
  2. swift处理网络返回数据(封装)
  3. php for 写入多行数据库,php – MYSQL意外插入多行
  4. .Net 中的反射(反射特性) - Part.3
  5. ABAP-在SMARTFORMS中取消使用WORD作为编辑器
  6. STM32学习笔记——DMA控制器(向原子哥学习)
  7. 【C/C++】实型变量
  8. iOS-NSThread编程详解
  9. 初中生问题:求任意凸多边形的交叉面积
  10. 使用sortable插件实现列表中表项的拖曳排序操作8-3
  11. [补档]暑假集训D5总结
  12. ASP.NET控件Web CAD SDK发布v12版本,支持DWG 2018丨附下载
  13. 模板题——数位DP、状态压缩、记忆化搜索
  14. echarts x轴 名称_图例|西门子S7-1200 PLC的轴组态与点动控制详解
  15. Linux chmod命令 修改文件权限被禁止(not permitted)的解决办法
  16. 使用Spine来完成骨骼动画
  17. 编写myqq,即时聊天脚本
  18. 占用内存最小linux,Linux系统排查1—内存篇
  19. 复合型数据结构:C数组
  20. 对图像高通滤波matlab,高通巴特沃斯滤波器在MATLAB中对图像进行滤波

热门文章

  1. 爬虫普法与美国机场分布数据(附全部数据下载地址)
  2. 如何区分变压器的同名端和异名端
  3. 移动智能网期末考知识点整理
  4. CCF20160902火车购票
  5. 2019.09.21 多校联合训练(提高组)
  6. 有一个肥而不腻的西红柿首富210亿
  7. 从零开始搭二维激光SLAM --- 激光雷达数据效果对比
  8. 如何利用Python和win32编程避免重复性体力劳动(一)——开始、FindWindow和FindWindowEx
  9. 放大器的传递函数_对数放大器和温度传感器结合的设计温度补偿方案
  10. 行业分析报告-2021年全球绞合铜线行业调研及趋势分析报告