这篇文章讲述的是数据存储方式和数据类型等基本概念、数据清洗的必要性和质量评价的关键点。希望这篇数据清洗的文章对您有所帮助!如果您有想学习的知识或建议,可以给作者留言~

Chapter01 | 数据清洗概况

  • 一、什么是数据
    • 1、数据的类型
    • 2、表格数据
    • 3、属性类别
  • 二、数据清洗
  • 1、什么是数据清洗
    • 2、为什么要进行数据清洗
    • 3、数据存在的问题
  • 三、数据质量评估
  • 四、数据清洗的主要内容

一、什么是数据

从广泛的意义上来讲,数据是一个宽泛的概念

  • 计算机中的0101代码
  • 日常生活中的音乐,图片,视频等
  • 人类的语言、文字
  • 了解数据清洗,需要理解数据的内涵和外延

1、数据的类型

  • 1、表格数据

关系记录、数据矩阵、向量、事务数据

  • 2、图和网络

万维网、社交网络、分子结构

  • 3、多媒体数据

文本、图像、视频、音频

2、表格数据

在此,只了解表格数据

  • 1、数据集(数据库)

  • 由数据对象构成

  • 一个数据对象表示一个实体

  • 2、概念

下面的这些表示相似的概念,在不同的地方可以交叉使用

  • 样本(samples or examples)
  • 对象(objects)
  • 实例(instances)
  • 元组(tuples)
  • 数据点(data points)

数据对象由属性(attributes)及其值(value)构成

表格数据中的行为数据对象,列为特征。如下图:

3、属性类别

类型:

  • 名义型(Nominal)

  • 布尔型(Binary)

  • 等级型(Ordinal)

  • 数值型(Numeric)

  • 3.1、名义型
    对数据对象进行分类或分组,使同类同质,异类异质

eg:
汽车品牌 ={路虎,奥迪,大众,奥拓}
学校 = {北大,清华,武大}

其值只是不同类别的代码,不能区分大小写,更不能进行任何数学计算

  • 3.2、布尔型
    布尔型数据是在条件或循环中的条件判断

Python中布尔类型对应两个布尔值:True和False,分别对应1和0

  • 3.3、等级型
    将数据对象分成不同的类型
    确定所分类别的等级差别和序列差别

eg:
身高:高、中、低
年级:三年级、二年级

等级行只能比较大小,不能进行数学计算

  • 3.4、数值型
    最常见的数据类型
    直接使用自然数或可进行测量的具体数值

可直接用数值计算方法进行汇总和分析

二、数据清洗

1、什么是数据清洗

脏数据

  • 数据清洗
    从一个充满拼写错误,缺失值,异常值等问题的原始数据集(Raw Data)通过数据转换,缺失处理,异常处理等手段映射为一个符合质量要求的“新”数据集(Consistent Data)的过程

数据清洗在大数据分析流程中的位置

2、为什么要进行数据清洗

  • 从不同渠道获得的数据,集成在一起,组成新的数据集,需要进行数据清洗,来保证数据集的质量
  • 数据分析算法对输入的数据集有要求
  • 显示情况下的数据集质量不禁如人意,需要数据清洗

3、数据存在的问题

  • 1、单数据源
  1. 违背属性约束条件:日期,电话号码,身份证号等
  2. 属性违反唯一性:主键同一取值出现多次
  3. 数据更新不及时
  4. 数据存在噪音
  5. 数据存在拼写错误
  6. 数据存在相似,重复记录
  • 2、多数据源
  1. 同一属性存在不同的名称:人的真实姓名和绰号
  2. 同一属性存在不同的定义:字段的长度测量单位,类型不一致
  3. 数据存在重复,拼写错误
  4. 数据的汇总时间不一致:按照年度,季度,月度统计
  5. 数据的存储单位不一致:按照GB,TB为单位存储

三、数据质量评估

如何评估数据的质量?
准确性,一致性,时效性,完整性,数据重复,数据冗余
易用性和可维护性
相关性和可信度

  • 1、准确性

考察数据集记录的信息是否存在异常或错误
业务数据通常存在特征取值缺失,特征缺失,主键缺失等问题
问题多发生在数据的源头,由各种主客观原因(主观录入错误,数据需求不明确,数据提供者故意隐瞒等)所导致
要获得高质量的数据集,需要把控好数据收集,数据录入的源头

  • 2、一致性

考察数据是否符合统一规范,数据记录是否保持统一格式

数据一致性问题通常存在于数据整合阶段:

来自不同数据源的数据汇总在一起,特征的表述不相同
相同的特征名称在不同的数据源中代表不同的含义

  • 1、特征名称不同,含义相同

通过其相应的取值范围和与其他特征的相似性,来找出这些指标对特征名称进行统一

在医疗指标数据中,有reference字段,代表指标值的正常值范围
如:身高的reference会是150-180,体重会是50-80
通过reference来初步判断哪些指标代表的含义相同

  • 2、特征名称相同,含义不同

不同医疗器械采集的数据中通常含有名称为蛋白的字段,但特征可能指尿蛋白,也可能指血蛋白
在实际操作中需要组合成新的特征(尿蛋白,血蛋白)

  • 3、时效性

考察数据从产生到分析的时间间隔,也称为数据的延长时长
数据集所代表的信息并不一定能正确描述当前的情形
爬取动态网页内容
由于网页内容,结构都在变化,获取的数据带有明显的时效性
考虑到数据获取的时间成本
数据分析的周期不能过长,否则会导致分析的结论失去现实意义

  • 4、完整性

考察数据信息是否存在缺失,包括数据集的字段以及数据记录

  • 5、数据重复

考察数据特征,数据记录的重复情况

  • 6、易用性和可维护性

考察数据的使用与访问情况,以及数据的更新,维护状况

  • 7、相关性和可信度

考察数据与相关业务的相关情况,参考数据的实用性

  • 8、数据冗余

考察数据集特征之间的相关性
如果一个特征可由另一个特征推导出来,那么这两个特征存在冗余
年龄可由生日推算获得,那么年龄和生日之间存在冗余
计算两个特征之间的相关系数来测量二者的冗余程度

计算两个特征之间的相关系数可以来测量二者之间的冗余程度

  • 1、连续型数据相关性检验:

Pearson相关系数用于计算连续型变量之间的相关性
公式:

其中,ρA,ρB分别为变量A和B的标准差
相关系数r的取值范围为[-1,1]
r>0,特征A和特征B呈正相关关系
r=0,特征A和特征B独立,不存在相关性
r<0,特征A和特征B呈负相关关系
|r|值越大,两个特征之间的相关性越高

  • 2、离散型数据相关性检测:

卡方独立性检验用于离散型数据的相关性检测 ,也成为列联表(contingency table),卡方检验

卡方独立性检验的步骤:

零假设:变量A和变量B无关
水平:确定显著水平α
检验:依据零假设,计算卡方值
确定自由度,根据自由度查临界值表进行推断

eg:

卡方值和自由度计算

计算公式:

自由度计算公式:

四、数据清洗的主要内容

  • 1、数据初步处理

使用Python的标准库或者第三方库读入数据,或者将数据读入数据库
使用数据可视化手段观察数据的取值分布情况
对数据进行整合或分组

  • 2、缺失值处理

确定缺失值的范围,以及所站比例
取出不需要的特征
使用缺失值填补等方法对缺失值进行填充

  • 3、异常值处理

检测异常值:基于统计,举例,密度的检测方法,复杂方法如孤立森林
处理检测值:删除异常值
保留异常值:选择鲁棒性更强的学习算法

  • 4、数据转换

数据的格式进行统一:不同数据文件格式的转换
数据去重:取出重复的数据几率,提高算法进行效率
数据标准化:消除数据单位,量纲不同带来的影响
数据离散化:将连续型数据转换为离散型数据,增强模型对于异常值的鲁棒性


各位路过的朋友,如果觉得可以学到些什么的话,点个赞再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。每个小伙伴的关注都是本人更新博客的动力!!!

数据清洗 Chapter01 | 数据清洗概况相关推荐

  1. 【数据清洗】数据清洗流程及经验

    预处理阶段 预处理阶段主要做两件事情: 一是将数据导入处理工具. 二是看数据.包含两个部分:一是看元数据,包括字段解释.数据来源.代码表等等一切描述数据的信息:二是抽取一部分数据,对数据本身有一个直观 ...

  2. 什么是数据清洗?数据清洗的原理是什么?

    数据清洗技术是提高数据质量的有效方法.这项技术是一个较新的研究领域,对大数据集的清洗工作需要花费很长的时间.由于不同的应用领域对数据清洗有不同的解释,因此数据清洗直到现在都没有一个公认.统一的定义.数 ...

  3. python在txt中的替换数据清洗_数据清洗过程中常见的排序和去重操作

    数据操作中排序和去重是比较常见的数据操作,本专题对排序和去重做专门介绍,并且给出一种不常用却比较有启发意义的示例:多列无序去重 目 录 1 排序 1.1 sort 单列排序返回值 1.2 order ...

  4. python对excel数据清洗_python数据清洗excel-阿里云开发者社区

    python清洗excel的数据还是很简单的 这里就列举例子说一下 这是原始数据,这里要处理的是地区和薪水两个字段. 清洗前数据 import xlrd import codecs import re ...

  5. 数据清洗python实现箱线图_GitHub - nonefirst/data_analysis: 基于Python的南京二手房数据采集及可视化分析...

    基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...

  6. 数据探索、数据清洗学习笔记

    目录 1.说明 2.作文目的 3.数据探索 3-1.定义 3-2.意义 3-3.方法 3-3-1.数据质量分析 3-3-1-1.定义 3-3-1-2.意义 3-3-1-3.判别(分析)方法 3-3-1 ...

  7. 结构化数据、非结构化数据、数据清洗等概念

    (1)结构化数据,简单来说就是数据库.结合到典型场景中更容易理解,比如企业ERP.财务系统:医疗HIS数据库:教育一卡通:政府行政审批:其他核心数据库等.这些应用需要哪些存储方案呢?基本包括高速存储应 ...

  8. 数据清洗(二):python数据清洗

    python数据清洗 Pandas数据清洗流程: 1.数据的读写:read_csv.read_excel.to_csv to_excel 2.数据的探索与描述:info.head.describe.s ...

  9. 数据预处理Part1——数据清洗

    文章目录 一.数据预处理 二.数据清洗 1.缺失值处理 1.1 丢弃缺失值 1.2 补全缺失值 1.3 真值转换 1.4 不处理 1.5 特征选择 2.异常值 2.1 异常值处理 2.2 保留异常数据 ...

  10. 利用poi实现对数据清洗

    利用poi实现对数据清洗 1.数据清洗 1.1.什么是数据清洗 1.2.数据清洗的步骤 1.3.数据清洗的方法 1.4.那么我们该怎么实现数据清洗呢? 2.1.使用poi实现对excel的写入(200 ...

最新文章

  1. 对不起,让你笑了这么久!
  2. 【面试题】如何设计一个高并发的系统?
  3. python多线程输出_Python多线程
  4. Tomcat容器、JSP和Servlet
  5. ASP.NET中全局变量
  6. VUE第三篇 入门后续
  7. Asp.net2.0:如何使用ObjectDataSource
  8. java如何将数据保存为xml6_用Java实现可保存状态的数据库生成XML树,源码来了(9)...
  9. Linux服务器性能优化
  10. ******:突破空格的限制
  11. 使用echarts(四)定时刷新图表
  12. uBLAS——Boost 线性代数基础程序库
  13. 【AcWing19】【LeetCode】DFS - 46/47/39/77/78/216/17/131/93/90/491
  14. Python 如何被证明是 2021 年的转折点语言
  15. 制作stlink(烧录部分)
  16. relation-graph实现企业架构图,关系图等(天眼查,企查查等企业架构图等实现)
  17. 0x800700c1添加语言,Win10更新失败出现”0x800700C1“错误的解决方法
  18. Oracle日常性能查看
  19. 还在研究pdf怎么加水印?你用python的同事早已下班了
  20. 用tkinter写一个简陋版的扣一佛主陪你笑,敲木鱼功德+1(附带源码)

热门文章

  1. Tango学习笔记(1)
  2. 商淘多b2b2c商城系统怎么在个人电脑上安装_真正开源免费可商用的电子商务系统...
  3. 常见音频格式大盘点分析
  4. 二分类模型AUC评价法
  5. Linux安装fcitx输入法
  6. rt1021环境搭建(MCUXpresso Config Tools的使用)以及外设配置
  7. 实验3:视频播放小程序
  8. 杭电数字电路课程设计——出租车计费器
  9. 设计模式--状态模式(C语言实现)
  10. oracle c# 插入中文乱码,C#写入Oracle 中文乱码问题