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

目录

三、数据集成和转换

1.数据集成 

2.数据冗余性 

2.1 皮尔森相关系数

2.2卡方检验 

3.数据转换

四、数据的规约和变换

1.数据归约

2数据离散化


三、数据集成和转换

1.数据集成 

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

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

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

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

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


2.数据冗余性 

原因:

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

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

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

2.1 皮尔森相关系数

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

此图,纯手工技艺。

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

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

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

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

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

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

2.2卡方检验 

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

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


3.数据转换

数据在集成过程中很多情况下需要进行转换,数据转换包括平滑、聚合、泛化、规范化、属性和特征的重构等操作。
(1)数据平滑。数据平滑是将噪声从数据中移除的过程。数据平滑通常是对数据本身进行的,如在连续性的假设下,对时间序列进行平滑,以降低异常点的影响;数据平滑有时也指对概率的平滑。
(2)数据聚合。数据聚合是将数据进行总结描述的过程。数据聚合的目的一般是为了对数据进行统计分析,数据立方体和在线分析处理(OLAP)都是数据聚合的形式。
(3)数据泛化。数据泛化是将数据在概念层次上转化为较高层次的概念的过程。
(4)数据规范化。数据规范化是将数据的范围变换到一个比较小的、确定的范围的过程。数据规范化在一些机器学习方法的预处理中比较常用,可以改善分类效果和抑制过学习。常用的数据规范化方法有最小最大规范化、2-score规范化和十进制比例规范化等。 


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

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

 

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

四、数据的规约和变换

1.数据归约

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

  • 如果对数据的每个维度的物理意义很清楚,就可以舍弃某些无用的维度,并使用平均值、汇总和计数等方式来进行聚合表示,这种方式称为数据立方体聚合
  • 如果数据只有有些维度对数据挖掘有益,就可以去除不重要的维度,保留对挖掘有帮助的维度,这种方式称为维度归约;
  • 如果数据具有潜在的相关性,那么数据实际的维度可能并不高,可以用变换的方式,用低维的数据对高维数据进行近似的表示,这种方式称为数据压缩;
  • 另外一种处理数据相关性的方式是将数据表示为不同的形式来减小数据量,如聚类、回归等,这种方式称为数据块消减。

2数据离散化

为什么要数据离散化?

  • 计算机存储器无法存储无限精度的值,计算机处理器也不能对无限精度的数进行处理。
  • 某些数据挖掘方法需要离散值的属性,这也催生了对数据进行离散化的需要。

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

数据离散化的方法主要有分箱、聚类、自顶向下拆分、自底向上合并等
使用分箱的数据离散化方法是通过先将属性值分箱,再将属性值替换为箱标签的离散化方法;

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/8066.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【ESP32+freeRTOS学习笔记之“ESP32环境下使用freeRTOS的特性分析(2-多核环境中的任务)”】

目录1、ESP32的双核对称多处理SMP概念2、涉及任务task的特殊性2.1 创建任务的特殊函数2.2 xTaskCreatePinnedToCore()函数的解释3、任务的删除4、总结1、ESP32的双核对称多处理SMP概念 最初的FreeRTOS(以下简称Vanilla FreeRTOS)…

线性表——顺序表

文章目录一:线性表二:顺序表1:概念与结构1:静态顺序表2:动态顺序表2:动态顺序表的代码实现1:结构2:接口实现1:初始化2:释放内存3:检查容量4&#…

Linux下最小化安装CentOS-7.6(保姆级)

文章目录安装包开始安装一、 新建一个虚拟机二、配置安装CentOS7.6二、开始安装CentOS三、配置CentOS并下载基本信息安装包 链接:https://pan.baidu.com/s/1DodB-kDy1yiNQ7B5IxwYyg 提取码:p19i 开始安装 一、 新建一个虚拟机 1、 打开VMWare&#x…

刷题笔记【5】| 快速刷完67道剑指offer(Java版)

本文已收录于专栏🌻《刷题笔记》文章目录前言🎨 1、合并两个有序链表题目描述思路一(递归)思路二(双指针)🎨 2、树的子结构题目描述思路一(递归)🎨 3、二叉树…

Redis分布式锁系列

1.压力测试出的内存泄漏及解决(可跳过) 使用jmeter对查询产品分类列表接口进行压力测试,出现了堆外内存溢出异常。 我们设置的虚拟机堆内存100m,并不是堆外内存100m 产生堆外内存溢出:OutOfDirectMemoryError 原因是…

某大厂面试题:说一说Java、Spring、Dubbo三者SPI机制的原理和区别

大家好,我是三友~~ 今天来跟大家聊一聊Java、Spring、Dubbo三者SPI机制的原理和区别。 其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地介绍了一下Java、Spring的SPI机制,并没有进行深…

SQL——数据查询DQL

基本语句、时间查询(当天、本周,本月,上一个月,近半年的数据)。 目录 1 查询语句基本结构 2 where 子句 3 条件关系运算符 4 条件逻辑运算符 5 like 子句 6 计算列 7 as 字段取别名 8 distinct 清除重复行 9 …

linux mysql

安装 下载包 wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar解压 tar -zxvf mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql安装openssl-devel插件 yum install openssl-devel安装rpm包 使用rpm -ivh安装图中r…

【Unity项目实战】从零手戳一个背包系统

首先我们下载我们的人物和背景资源,因为主要是背包系统,所以人物的移动和场景的搭建这里我们就不多讲了,我这里直接提供基础项目源码给大家去使用就行 基础项目下载地址: 链接: https://pan.baidu.com/s/1o7_RW_QQ1rrAbDzT69ApRw 提取码: 8s95 顺带说一下,这里用到了uni…

AttributeError: module transformers has no attribute LLaMATokenizer解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

AES加密

来源:链接: b站up主可厉害的土豆 (据评论区说图片中有计算错误,但是过程是对的。只是了解过程问题不大,专门研究这一块的话自己可以看视频算一下) 准备 首先,明文是固定长度 16字节 128位。 密钥长度可以…

TCP协议一

TCP数据报格式 TCP通信时序 下图是一次TCP通讯的时序图。TCP连接建立断开。包含大家熟知的三次握手和四次握手。 在这个例子中,首先客户端主动发起连接、发送请求,然后服务器端响应请求,然后客户端主动关闭连接。两条竖线表示通讯的两端&…

houjie-cpp面向对象

houjie 面向对象 面向对象(上) const 在一个函数后面放const,这个只能修饰成员函数,告诉编译器这个成员函数不会改数据 const还是属于函数签名的一部分。 引用计数:涉及到共享的东东,然后当某个修改的时候&…

Mysql的学习与巩固:一条SQL查询语句是如何执行的?

前提 我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单…

【Paper】2019_Resilient Consensus Through Asynchronous Event-based Communication

Wang Y, Ishii H. Resilient consensus through asynchronous event-based communication[C]//2019 American Control Conference (ACC). IEEE, 2019: 1842-1847. 文章目录I. INTRODUCTIONII. EVENT-BASED RESILIENT CONSENSUS PROBLEMA. Preliminaries on graphsB. Event-base…

基于Java+ SpringBoot+Vue 的网上图书商城管理系统(毕业设计,附源码,教程)

您好,我是程序员徐师兄,今天为大家带来的是 基于Java SpringBootVue 的网上图书商城管理系统(毕业设计,附源码,教程)。 😁 1.Java 毕业设计专栏,毕业季咱们不慌忙,几百款…

电脑桌面图标间距突然变大怎么恢复

1. WindowsR打开 > 输入regedit 按住WindowsR打开运行,输入regedit并点击确定。 2. 双击Control Panel 双击展开HKEY_CURRENT_USER,双击展开Control Panel,双击展开Desktop。 3. 更改间距 点击打开WindowMetrics, 双击打开…

两年外包生涯,给我后面入职字节跳动奠定了基础.....

我是一位软件测试工程师。从大学毕业后,我进入了一家外包公司,在那里工作了两年时间。虽然我在公司中得到了不少锻炼和经验,但是我一直渴望能够进入一家更加专业的公司,接触更高端、更有挑战性的项目。 于是,我开始主…

Keil 4 安装教程及简单使用【嵌入式系统】

Keil 4 安装教程及简单使用【嵌入式系统】前言推荐说明Keil 4 for Arm安装教程1.安装MDK2.激活mdkkeil 4 for arm 的简单使用1建立新工程2在工程下创建新文件3.设置工程属性4.中文注释5.编辑代码6.build7.debug8. 调试窗口简介keil 4 for C51安装教程1.前期准备2.开始keil4 for…

记录-VueJs中如何使用Teleport组件

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 在DOM结构相对比较复杂,层级嵌套比较深的组件内,需要根据相对应的模块业务处理一些逻辑,该逻辑属于当前组件 但是从整个页面应用的视图上看,它在DOM中应该被渲染在整个vue应用外部的其他地方,不能影响…