数据挖掘(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数据离散化

为什么要数据离散化?


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

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

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


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

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


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


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

相关文章
|
机器学习/深度学习 自然语言处理 算法
深度学习算法概念介绍
深度学习算法概念介绍
|
机器学习/深度学习 数据采集 自然语言处理
岭回归与LASSO回归:解析两大经典线性回归方法
岭回归与LASSO回归:解析两大经典线性回归方法
岭回归与LASSO回归:解析两大经典线性回归方法
|
数据可视化 数据挖掘 大数据
【数据挖掘】数据规约中维归约、小波变换、主成分分析的讲解及实战(超详细 附源码)
【数据挖掘】数据规约中维归约、小波变换、主成分分析的讲解及实战(超详细 附源码)
888 0
|
Ubuntu 安全 机器人
把Windows打造成一个NTP时间同步服务器
把Windows打造成一个NTP时间同步服务器
把Windows打造成一个NTP时间同步服务器
|
机器学习/深度学习 算法 Python
探索XGBoost:参数调优与模型解释
探索XGBoost:参数调优与模型解释
1039 2
|
域名解析 负载均衡 网络协议
阿里云云解析收费版和免费版有什么不同?域名解析DNS免费收费区别对比
阿里云域名解析DNS收费吗?域名解析DNS免费版和收费版有什么区别?
7144 0
阿里云云解析收费版和免费版有什么不同?域名解析DNS免费收费区别对比
|
SQL 关系型数据库 MySQL
一文搞懂数据库中的“锁”(图文详解)
数据库锁机制包括全局锁、表级锁和行级锁,用于管理并发访问数据时的一致性和有效性。全局锁锁定整个数据库实例,确保数据备份时的一致性,但可能导致长时间业务停摆。表级锁分为读锁和写锁,读锁允许多个并发读,写锁阻止其他读写。元数据锁(MDL)自动控制,防止DML和DDL冲突。行级锁是最细粒度的锁,分共享锁(读)和排他锁(写),防止行级别的并发冲突。InnoDB还使用意向锁和间隙锁/临键锁防止幻读,提高并发性能。
3221 2
一文搞懂数据库中的“锁”(图文详解)
|
Linux Python Windows
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
2382 2
|
机器学习/深度学习 编解码 PyTorch
深入 YOLOv8:探索 block.py 中的模块,逐行代码分析(二)
深入 YOLOv8:探索 block.py 中的模块,逐行代码分析(二)
|
机器学习/深度学习 算法 测试技术
机器学习算法之集成学习
机器学习算法之集成学习