数据挖掘(2.3)--数据预处理

简介: 通常这个过程牵涉到数据架构的集成,处理属性值冲突,处理数据冗余性,对数据进行转化等的处理过程。

目录


三、数据集成和转换


1.数据集成


2.数据冗余性


2.1 皮尔森相关系数


2.2卡方检验


3.数据转换


四、数据的规约和变换


1.数据归约


2数据离散化


三、数据集成和转换

1.数据集成

数据集成是将不同来源的数据整合并一致地存储起来的过程。


不同来源的数据可能有不同的格式、不同的元信息和不同的表示方式等。


首先需要将它们变成一致的形式。


通常这个过程牵涉到数据架构的集成,处理属性值冲突,处理数据冗余性,对数据进行转化等的处理过程。


其中两个主要的问题:数据冗余和数据转换。


2.数据冗余性

原因:


数据冗余可能由许多技术和业务上的原因导致,


同一属性或对象在不同的数据库中的名称可能是不同的,


某些属性可能是由其他属性导出的。


2.1 皮尔森相关系数

皮尔森相关系数是计算两个数数值向量之间的相关性

3a35c42274c558c64610bc4a83a34939_9f415a32abd14c35a71e6ccce90b2bfc.png



此图,纯手工技艺。


当相关系数大于0时,称两个向量正相关;


当相关系数小于0时,称两个向量负相关;


当相关系数等于0时,称两个向量不相关。


容易得出,相关系数的取值范围是[-1,1]。


热力图展示环节 (matplotlib库的问题,导致热力图显示不全,建议升版本或降低版本)


python使用corr()函数计算数据中两两元素的皮尔系数


ffc81248783f5bc3a16d31f7ac705bdd_fc123c51346b4a60aa65884a7862ce1a.png


2.2卡方检验

对于非数值型的变量,计算其相关性可以使用卡方检验方法进行,卡方检验的计算方式为:


f900d493b45c54951ed418dae4aff58e_e1bb3f89e9814686b92135bb55539ae5.png


求和是对每一种不同的变量取值情形进行的,Oi是实际观测到的概率,而Ei是在变量彼此独立的假设下该情况发生概率的估计。


3.数据转换

数据在集成过程中很多情况下需要进行转换,数据转换包括平滑、聚合、泛化、规范化、属性和特征的重构等操作。

(1)数据平滑。数据平滑是将噪声从数据中移除的过程。数据平滑通常是对数据本身进行的,如在连续性的假设下,对时间序列进行平滑,以降低异常点的影响;数据平滑有时也指对概率的平滑。

(2)数据聚合。数据聚合是将数据进行总结描述的过程。数据聚合的目的一般是为了对数据进行统计分析,数据立方体和在线分析处理(OLAP)都是数据聚合的形式。

(3)数据泛化。数据泛化是将数据在概念层次上转化为较高层次的概念的过程。

(4)数据规范化。数据规范化是将数据的范围变换到一个比较小的、确定的范围的过程。数据规范化在一些机器学习方法的预处理中比较常用,可以改善分类效果和抑制过学习。常用的数据规范化方法有最小最大规范化、2-score规范化和十进制比例规范化等。


如下的公式是最小最大规范化的例子,它将数据映射到[0,1] 区间。

af8d89e20681de93caa47c09a562d912_050046489562495abc10ec2eb9d36341.png

z-score规范化使用数据的均值μ和标准差σ来将数据转化到某个区间,如下的公式为z-score标准化的例子,规范化后的数据均值为0,标准差为1。


2d58918b810a7bce1a43c552da0a0050_39a0b4058bb9465fbf31a44df3685fc4.png

十进制比例规范化使用数据绝对值的极值进行规范化.对数据仅使用十进制放缩的方式进行规范化。如要将466,33,- 100,-10这几个数进行规范化,结果为:0.466,0.033,-0.1,0.01。


四、数据的规约和变换

1.数据归约

数据归约是用更简化的方式来表示数据集,使得简化后的表示可以用较少的数据量来产生与挖掘全体数据类似的效果。

数据归约可以从几个方面入手:


如果对数据的每个维度的物理意义很清楚,就可以舍弃某些无用的维度,并使用平均值、汇总和计数等方式来进行聚合表示,这种方式称为数据立方体聚合

如果数据只有有些维度对数据挖掘有益,就可以去除不重要的维度,保留对挖掘有帮助的维度,这种方式称为维度归约;

如果数据具有潜在的相关性,那么数据实际的维度可能并不高,可以用变换的方式,用低维的数据对高维数据进行近似的表示,这种方式称为数据压缩;

另外一种处理数据相关性的方式是将数据表示为不同的形式来减小数据量,如聚类、回归等,这种方式称为数据块消减。

2数据离散化

为什么要数据离散化?


计算机存储器无法存储无限精度的值,计算机处理器也不能对无限精度的数进行处理。

某些数据挖掘方法需要离散值的属性,这也催生了对数据进行离散化的需要。

数据离散化是对数据的属性值进行的预处理,它是将属性值划分为有限个部分,之后使用这个部分的标签来代替原来的属性值。


数据离散化的方法主要有分箱、聚类、自顶向下拆分、自底向上合并等。

使用分箱的数据离散化方法是通过先将属性值分箱,再将属性值替换为箱标签的离散化方法;


使用聚类的数据离散化方法是通过先将属性值聚类,再使用类标签作为新的属性值的离散化方法。


通过拆分和合并来进行数据离散化的方法:基于信息增益的离散化、基于卡方检验的离散化和基于自然分区的离散化。

目录
相关文章
|
19天前
|
机器学习/深度学习 存储 算法
分类算法(数据挖掘)
分类算法(数据挖掘)
|
7月前
|
数据采集 存储 数据挖掘
数据挖掘(2.1)--数据预处理
数据对象(一条记录、一个实体、一个案例、一个样本等)是对一个事物或者物理对象的描述。 数据对象的属性则是这个对象的性质或特征,例如一个人的肤色、眼球颜色等是这个人的属性。
64 0
|
7月前
|
数据采集 数据挖掘 数据中心
数据挖掘(2.2)--数据预处理
描述数据的方法,包括描述数据中心趋势的方法如均值、中位数,描述数据的分散程度的方法如方差、标准差,以及数据的其他描述方法如散点图和参数化方法等。
45 0
|
机器学习/深度学习 数据采集 数据可视化
数据挖掘可视化+机器学习初探
数据挖掘可视化+机器学习初探
103 0
数据挖掘可视化+机器学习初探
|
机器学习/深度学习 人工智能 算法
机器学习与数据挖掘
机器学习是人工智能的一个分支。人工智能的研究历史有着一条从以“推理”为重点,到以“知识”为重点,再到以“学习”为重点的自然、清晰的脉络。显然,机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。 几种定义: 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能 机器学习是对能通过经验自动改进的计算机算法的研究 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。 机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。
机器学习与数据挖掘
|
数据挖掘
《数据挖掘:实用案例分析》——第3章 数据挖掘建模 3.1 数据挖掘的过程
本节书摘来自华章计算机《数据挖掘:实用案例分析》一书中的第3章,第3.1节,作者 张良均 陈俊德 刘名军 陈荣,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1558 0
|
数据采集 数据挖掘 测试技术
|
数据采集 算法 数据挖掘
《移动数据挖掘》—— 第2章 移动数据预处理 2.1 移动数据简介
第2章 移动数据预处理在本章中,首先对移动数据及其特性进行介绍,再介绍针对移动数据的预处理。因为移动数据的挖掘是从原始移动数据、语义移动数据等多个层次进行的,在挖掘时总是会出现各种各样的数据缺失或数据异常。
1420 0
|
人工智能 算法 数据挖掘