我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

为什么要数据离散化?

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

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

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

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

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

来源地址:https://blog.csdn.net/weixin_53197693/article/details/129627549

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

NumPy数据挖掘指南:从数据中挖掘宝藏的秘诀

NumPy 是 Python 中用于科学计算的强大工具包,在数据挖掘领域发挥着至关重要的作用。掌握 NumPy 的技巧和知识,可以帮助您从数据中提取有价值的信息,揭示隐藏的趋势和洞察。
NumPy数据挖掘指南:从数据中挖掘宝藏的秘诀
2024-02-11

如何优化数据库的数据挖掘

优化数据库的数据挖掘可以通过以下几个方面来实现:数据清洗:在进行数据挖掘之前,首先需要对数据进行清洗,包括去除重复数据、处理缺失值、处理异常值等,以确保数据的质量和准确性。数据预处理:在数据挖掘之前,可以对数据进行预处理,包括数据变换、数据
如何优化数据库的数据挖掘
2024-07-03

Python怎么实现数据挖掘

本篇内容主要讲解“Python怎么实现数据挖掘”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现数据挖掘”吧!这个Selenium模块主要是应对我们自动浏览网页数据所需要用的,让
2023-06-02

数据挖掘概念与技术

数据挖掘是指从大量数据中发现有价值的信息或模式的过程。它是一种结合了统计学、机器学习、人工智能和数据库技术的综合性技术。数据挖掘技术包括以下几个方面:1. 数据预处理:对原始数据进行清洗、去噪、缺失值处理等操作,以提高数据的质量和可用性。2
2023-09-28

pyhton数据挖掘self原理是什么

本篇内容主要讲解“pyhton数据挖掘self原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“pyhton数据挖掘self原理是什么”吧!1. 什么是class,什么是instance,
2023-06-25

pg数据库日志挖掘WalMiner

WalMiner是从PostgreSQL的WAL(write ahead logs)日志中解析出执行的SQL语句的工具,并能生成出对应的undo SQL语句。referenceXlogMiner renamed to WalMinerXlogMiner Enh
pg数据库日志挖掘WalMiner
2018-05-22

数据库OLAP:揭秘数据挖掘的终极利器

数据库OLAP技术是数据挖掘领域的重要工具,能够高效处理海量数据,从复杂的数据中快速提取出有价值的信息,帮助企业做出更明智的决策。
数据库OLAP:揭秘数据挖掘的终极利器
2024-02-12

Hadoop在教育领域的数据挖掘

Hadoop在教育领域的数据挖掘应用非常广泛。通过Hadoop平台,教育机构可以处理和分析大规模的教育数据,从而提供更好的教学体验和教学管理。以下是Hadoop在教育领域的数据挖掘应用:学生学习数据分析:通过Hadoop平台分析学生的学习
Hadoop在教育领域的数据挖掘
2024-02-29

如何对网站进行数据挖掘

本篇内容介绍了“如何对网站进行数据挖掘”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!###什么是机器学习?随着机器学习在实际工业领域中不断获
2023-06-10

Golang如何增强数据挖掘技术?

go语言通过以下方式增强了数据挖掘技术:并发处理(使用协程)以提高数据处理速度。分布式处理(使用分布式包)以处理大型数据集。代码易读性(简洁语法和结构清晰)以简化代码编写和维护。Go如何增强数据挖掘技术Go(又称Golang)是一种开源编
Golang如何增强数据挖掘技术?
2024-05-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录