目录

  • 数据中可能存在的问题
  • 1、什么是数据预处理
  • 2、数据预处理的目的
  • 3、数据预处理的方法
    • 3.1、数据清洗
      • 3.1.1、数据清洗的作用
      • 3.1.2、数据清洗的方法
        • 3.1.2.1、缺失值或遗漏数据的处理
        • 3.1.2.2、噪声数据的处理
    • 3.2、数据集成
      • 3.2.1、实体识别问题
      • 3.2.2、冗余问题
      • 3.2.3、元组重复问题
      • 3.2.4、数据值冲突问题
    • 3.3、数据转换
      • 3.3.1、平滑处理
      • 3.3.2、聚集处理
      • 3.3.3、数据泛化处理
      • 3.3.4、规范化
      • 3.3.5、属性构造
    • 3.4、处理分类型特征
    • 3.5、数据归约
      • 3.5.1、属性归约
      • 3.5.1、记录归约
    • 3.6、离散化和概念分层自动生成
      • 3.6.1、离散化技术
      • 3.6.2、属性概念分层的自动生成

数据中可能存在的问题

  • 数据类型不同:
    有的文字,有的数字,有的含时间序列,有的连续,有的间断…
  • 数据质量不行:
    有噪声,维度高,有异常,有缺失,数据出错,量纲不一,有重复,数据是偏态,数据量太大或太小…

1、什么是数据预处理

数据预处理是从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程。

2、数据预处理的目的

为数据挖掘过程提供干净、准确、简洁的数据;
让数据适应模型,匹配模型的需求,提高数据挖掘效率和准确性。

3、数据预处理的方法

3.1、数据清洗

3.1.1、数据清洗的作用

清除数据噪声和与挖掘主题明显无关及不一致的数据。

3.1.2、数据清洗的方法

3.1.2.1、缺失值或遗漏数据的处理

  • 忽略该条数据
  • 手工填补遗漏值
  • 利用缺省值填补
  • 利用均值或中位数填补
  • 利用同类均值或中位数填补
  • 利用最可能的值填补:利用回归分析、贝叶斯或决策树推断最大可能的取值。

3.1.2.2、噪声数据的处理

  • 噪声:噪声是被测量的变量的随机误差或方差。
  • 处理方法:
    1)分箱:通过考查数据周围的值来光滑有序数据值。它将数据排序,根据分布规则将数据分布到不同箱中,根据平滑规则将同一箱中的数据用相应数据替换。分布规则可以是等深(等高)、等宽。平滑规则可以是平均值平滑、中值平滑、边界平滑。
    2)聚类:聚类分析查找孤立点,去除孤立点以消除噪声数据。
    3)回归:通过适应回归函数来平滑数据,去除噪声。

3.2、数据集成

将来自多个数据源的数据,如:数据库、数据立方、普通文件等,结合在一起并形成一个统一数据集合,以便为数据挖掘工作的顺利完成提供完整的数据基础。

3.2.1、实体识别问题

使来自多个数据源的现实世界的实体相互匹配。

3.2.2、冗余问题

若一个属性可以从其它属性中推演出来,那这个属性就是冗余属性。除了检查属性是否冗余之外,还需要检查记录行的冗余。

  • 可以用相关分析进行检测:
    给定两个属性,度量一个属性在多大程度上蕴含另一个属性。
    对于标称属性,可使用卡方检验;
    对于数值属性,可使用相关系数和协方差。

3.2.3、元组重复问题

对于给定的唯一数据实体,存在两个或多个相同的元组。

3.2.4、数据值冲突问题

对于一个现实世界实体,其来自不同数据源的属性值或许不同。


3.3、数据转换

数据转换就是将数据转换或归并以构成一个适合数据挖掘的描述形式。

3.3.1、平滑处理

帮助除去数据中的噪声。

3.3.2、聚集处理

对数据进行汇总或聚集操作。

3.3.3、数据泛化处理

用更抽象(更高层次)的概念来取代低层次或数据层的数据对象。

3.3.4、规范化

规范化就是将有关属性数据按比例投射到特定小范围之中。

  • 最小-最大规范化(当规范到(0,1)区间时:归一化 / 标准化)
    v′=v−minAmaxA−minA(new_maxA−new_minA)+new_minAv'=\frac{v-min_A}{max_A-min_A}(new\_max_A-new\_min_A)+new\_min_Av′=maxA​−minA​v−minA​​(new_maxA​−new_minA​)+new_minA​
  • 零-均值规范化:给定平均值和标准差
    v′=v−AˉσAv'=\frac{v-\bar{A}}{\sigma_A}v′=σA​v−Aˉ​
  • 小数定标规范化:
    使max∣A∣10j<1\frac{max_{|A|}}{10^j}<110jmax∣A∣​​<1满足的最小整数 j,v′=v10jv'=\frac{v}{10^j}v′=10jv​

3.3.5、属性构造

根据已有属性集构造新的属性,以帮助数据挖掘过程。


3.4、处理分类型特征

对数据进行编码,将文字型数据转换为数值型。(One-Hot编码)


3.5、数据归约

数据归约即数据约简。对于大数据集,通过数据归约可以得到数据集的归约表示。归约后的数据集小得多,但仍接近于保持原数据的完整性。

3.5.1、属性归约

又称为维归约、属性子集选择、特征子集选择,它通过删除不相关的或冗余的属性减小数据集,它的目标是找出最小属性集, 使得数据在其上的概率分布尽可能地接近在原属性集上的概率分布。

  • 常用方法:
    粗糙集方法、决策树分类。

3.5.1、记录归约

通过用少量记录代表或替换原有记录来减小数据集。

  • 常用方法:
    抽样、数据概化/数据泛化

3.6、离散化和概念分层自动生成

3.6.1、离散化技术

连续属性的离散化就是在特定的连续属性值域内设定若干个离散化的划分点,将属性的值域范围划分为一些离散化区间,然后用不同的符号或离散化区间标记表示落在每个子区间的属性值。包括:二值化和分段。

3.6.2、属性概念分层的自动生成

  • 离散属性概念分层的自动生成:
    这种方法基于这样一个事实:概念层次树中高层的概念个数一般少于低层的概念个数。
  • 连续属性概念分层的自动生成:
    基于熵的离散化技术。

数据挖掘课程小结——1)数据预处理相关推荐

  1. 数据挖掘综合应用:数据预处理代码实战

    数据挖掘综合应用:数据预处理代码实战 在数据预处理的过程中主要包括两个部分:数据清洗和特征预处理. 数据清洗: 缺失值处理:一般包括去除或者填补两种方式. 填补方式主要有:均值.中位数.众数.回归分析 ...

  2. 【数据挖掘笔记三】数据预处理

    3.数据预处理 数据预处理技术: 数据清理用来清除数据中的噪声,纠正不一致: 数据集成将数据由多个数据源合并成一个一致的数据存储,如数据仓库: 数据归约通过如聚集.删除冗余特征或聚类来降低数据的规模: ...

  3. 数据挖掘概念汇总及数据预处理

    数据挖掘简介 数据挖掘,顾名思义,就是在大量的数据中发现有用的信息,随着信息技术发展,每天都会产生大量的数据,可以说我们正处于一个大数据的时代.面对如此多的数据,传统的分析方法不再适用,这就需要我们用 ...

  4. 数据挖掘过程中:数据预处理

    原文:http://www.itongji.cn/article/0Q926052013.html 在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据 ...

  5. 数据挖掘-数据预处理的必要性及主要任务

    数据预处理的必要性及主要任务 1.数据预处理的必要性 数据库极易受噪声.缺失值和不一致数据的侵扰,因为数据库太大,并且多半来自多个异构数据源.低质量的数据导致低质量的数据挖掘. 2.数据预处理技术 ( ...

  6. 【Python数据分析】数据预处理1——数据清洗

    在数据挖掘过程中,数据预处理过程是占比很大的一部分工作 数据预处理过程主要有以下几个部分 1.数据清洗--2.数据集成--3.数据变换--4.数据规约 本文介绍数据清洗部分 一.缺失值分析与处理 1. ...

  7. 数据预处理之数据描述

    转载自:http://www.douban.com/note/128903131/ 在数据挖掘过程中数据预处理至关重要.根据统计,在一个完整的数据挖掘过程中,数据预处理要花费60%左右的时间. 数据挖 ...

  8. 【python数据挖掘课程】二十九.数据预处理之字符型转换数值型、标准化、归一化处理

    这是<Python数据挖掘课程>系列文章,前面很多文章都讲解了数据挖掘.机器学习,这篇文章主要讲解数据分析预处理中字符特征转换为数值特征.数据标准化.数据归一化,这都是非常基础的工作.最后 ...

  9. 数据挖掘课程第一章作业《认识数据挖掘与数据预处理》

    文章目录 作业内容 #1.什么是数据挖掘? 数据挖掘的定义 数据挖掘与数据分析的区别 2.数据挖掘的主要任务有哪些? 老师ppt中给出的内容 数据挖掘的应用场景 1.教育领域 2.风控领域 3.医疗领 ...

最新文章

  1. 第 5 章 Nova - 025 - OpenStack 通用设计思路
  2. break 和continue在循环中起到的作用
  3. Mac 技术篇-Oracle数据库官方连接工具SQL Developer的安装与连接演示
  4. ios 容错处理JKDataHelper和AvoidCrash
  5. Oracle在不同的语言环境结果to_date错误的问题
  6. Leetcode--151. 翻转字符串里的单词
  7. Fantageek翻译系列之《使用Autolayout显示变化高度的UITableViewCell》
  8. 不能调试的问题的解决
  9. C语言中简单的题目,C语言的一些简单题目,没有答案,哪位大神帮忙做一下!!!...
  10. 【图像隐写】基于matlab LBP数字水印嵌入攻击提取【含Matlab源码 1672期】
  11. python bt下载_【图片】分享一段功能非常简陋的python代码实现下载free种【pt吧】_百度贴吧...
  12. 计算机毕业设计django基于python药房药品管理系统(源码+系统+mysql数据库+Lw文档)
  13. ArcGIS教程 - 9 矢量数据空间分析
  14. 黎明前的黑夜如此漫长
  15. SQL Server 函数汉字转首字母或全拼
  16. 基本数据类型的默认值
  17. 北师大 外国教育史-2(古罗马教育、中世纪教育)
  18. useragent怎么获取
  19. MultipartFile 转 File
  20. python 输入一个数,判断是不是水仙花数

热门文章

  1. 微信小程序原生开发功能合集一:微信小程序开发介绍
  2. Latex中使用中文
  3. 一步一步学RenderMonkey
  4. 一步一步教你安装MySQL
  5. [向前一小步]Android简单实现指纹识别登录
  6. Graphite Simulator模拟器详解
  7. Revit出图问题:打印机中新建纸张尺寸?批量导出图纸?
  8. 火影忍者、英雄联盟国内版、和平精英强开90/120帧方法
  9. 搞 Java 的年薪 40W 是什么水平?
  10. Java--网上银行登录及存取款业务模拟系统