数据预处理

在数据挖掘过程中,数据预处理工作量占到整个过程的60%。

20190324211933.jpg?raw=true

数据清洗

缺失值处理

  1. 删除记录
  2. 数据插补
  3. 不处理

20190324212917.jpg?raw=true

异常值处理

  1. 删除含有异常值的记录
  2. 视为缺失值
  3. 平均值修正
  4. 不处理

很多情况下,要先分析异常值出现的可能原因,再判断异常值是否应该舍弃,如果是正确数据,可以直接用于数据挖掘。

数据集成

将多个数据源合并存放在一个一致的数据存储(如数据仓库)中的过程。

实体识别

同名异义

异名同义

单位不统一

冗余属性识别

同一属性多次出现

同一属性命名不一致导致重复

数据变换

对数据规范化

简单函数变换

对原始数据进行某些数学函数变换,常用的变换包括平方、开方、取对数、查分运算等。

常用来将不具有正态分布的数据变换成具有正态分布的数据。在时间序列分析中,有时简单的对数变换或者查分运算就可以将非平稳序列转换成平稳序列。

规范化

消除指标之间的量纲和取值范围差异的影响,将数据按照比例进行缩放,使之落入一个特定的区域,便于进行综合分析。

数据规范化对于基于距离的挖掘算法尤为重要。

  1. 最小-最大规范化:也称离差标准化,对原始数据的线性变换,将数值映射到[0,1]之间。
  2. 零-均值规范化:经过处理的数值均值为0,标准差为1。
  3. 小数定标规范化:通过移动属性值的小数位数,将属性值映射到[-1, 1]之间,移动的小数位数取决于属性值绝对值的最大值。
data_n1 = (data - data.min())/(data.max() - data.min())    #最小-最大规范化
data_n2 = (data - data.mean())/data.std()                  #零-均值规范化
data_n3 = data/10**np.ceil(np.log10(data.abs().max()))    #小数定标规范化

连续属性离散化

一些数据挖掘算法,特别是分类算法(ID3,Apriori),要求数据是分类属性形式。需要将连续属性变换成分类属性,即连续属性离散化。

离散化过程

连续属性的离散化就是在数据的取值范围内设定若干个离散的划分点,将取值范围划分为一些离散化的区间,最后用不同的符号或整数值代表落在每个子区间中的数据值。两个主要任务:

  1. 确定分类数
  2. 如何将连续属性值映射到这些分类值

常用的离散化方法

  1. 等宽法
  2. 等频法
  3. 基于聚类的方法

属性构造

为了提取更多有用的信息,挖掘更深层次的模式,提高挖掘结果的精度,利用已有的属性集构造出新的属性。

小波变换

小波变换是一种新型的数据分析工具,是近年来兴起的信号分析手段,小波分析的理论和方法在信号处理、图像处理、语音处理、模式识别、量子物理等领域得到越来越广泛的应用,是工具方法上的重大突破。

小波变换可以把非平稳信号分解为表达不同层次、不同频带信息的数据序列,即小波系数。选择适当的小波系数,即完成了信号的特征提取。

  1. 基于小波变换的特征提取方法

20190325014327.jpg?raw=true

20190325014348.jpg?raw=true

  1. 小波基函数

小波基函数是一种具有局部支集的函数,并且平均值为0,小波基函数满足ψ(0)=∫ψ(t)dt=0。常用的小波基有Harr小波基,db系列小波基。

  1. 小波变换

数据规约

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

属性规约

通过属性合并来创建新属性维数,或者直接通过删除不相关的属性(维)来减少数据维数,从而提高数据挖掘的效率、降低计算成本。目标是寻找出最小的属性子集。

20190325231038.jpg?raw=true

逐步向前选择、逐步向后删除和决策树归纳是属于直接删除不相关属性(维)方法。主成分分析是一种用于连续属性的数据降维方法,它构造了原始数据的一个正交变换,新空间的基底去除了原始空间基底下数据的相关性,只需使用少数新变量(主成分)就能够解释原始数据中的大部分变异。

20190325235215.jpg?raw=true

数值规约

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

  1. 直方图:将属性值压缩到多个桶中,每个桶是该属性的一个连续区间
  2. 聚类:将数据元组视为对象,划分成簇,用簇替换实际数据。有效性依赖于簇的定义是否符合数据的分布性质
  3. 抽样:用比原始数据小得多的随机样本(子集)表示原始数据集。1)s个样本无放回简单随机抽样;2)s个样本有放回简单随机抽样;3)聚类抽样;4)分层抽样
  4. 参数回归:简单线性模型和对数线性模型可以用来近似描述给定的数据。线性模型对数据建模,使之拟合一条直线。

Python主要数据预处理函数

20190326004956.jpg?raw=true

转载于:https://www.cnblogs.com/51zone/p/10597840.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flink是一个开源的流处理和批处理框架,它提供了强大的数据处理能力。在Flink中,数据预处理是指在进行实时流处理或者批处理之前对数据进行一系列的转换、清洗、过滤等操作,以便后续的分析和计算。 Flink提供了多种数据预处理的功能和工具,下面是一些常用的数据预处理技术和方法: 1. 数据转换:Flink支持对数据进行各种转换操作,如映射、过滤、合并等。通过使用Flink提供的转换函数,可以对输入数据进行各种操作,从而得到符合需求的输出数据。 2. 数据清洗:在实际应用中,原始数据往往存在一些噪声、错误或者缺失值。Flink提供了丰富的数据清洗工具,可以对数据进行去重、填充缺失值、异常值检测等操作,以保证数据的质量和准确性。 3. 数据聚合:在数据预处理过程中,常常需要对数据进行聚合操作,如求和、计数、平均值等。Flink提供了丰富的聚合函数和窗口操作,可以方便地对数据进行聚合分析。 4. 数据分割:有时候需要将大规模的数据集划分为多个小的数据集,以便进行并行处理。Flink提供了数据分割的功能,可以将数据集按照指定的规则进行划分,以便并行处理。 5. 数据格式转换:在实际应用中,数据的格式可能存在差异,如不同的编码方式、数据类型等。Flink提供了数据格式转换的工具,可以将不同格式的数据进行转换,以便后续的处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值