数据清洗 Chapter01 | 数据清洗概况
这篇文章讲述的是数据存储方式和数据类型等基本概念、数据清洗的必要性和质量评价的关键点。希望这篇数据清洗的文章对您有所帮助!如果您有想学习的知识或建议,可以给作者留言~
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、单数据源
- 违背属性约束条件:日期,电话号码,身份证号等
- 属性违反唯一性:主键同一取值出现多次
- 数据更新不及时
- 数据存在噪音
- 数据存在拼写错误
- 数据存在相似,重复记录
- 2、多数据源
- 同一属性存在不同的名称:人的真实姓名和绰号
- 同一属性存在不同的定义:字段的长度测量单位,类型不一致
- 数据存在重复,拼写错误
- 数据的汇总时间不一致:按照年度,季度,月度统计
- 数据的存储单位不一致:按照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 | 数据清洗概况相关推荐
- 【数据清洗】数据清洗流程及经验
预处理阶段 预处理阶段主要做两件事情: 一是将数据导入处理工具. 二是看数据.包含两个部分:一是看元数据,包括字段解释.数据来源.代码表等等一切描述数据的信息:二是抽取一部分数据,对数据本身有一个直观 ...
- 什么是数据清洗?数据清洗的原理是什么?
数据清洗技术是提高数据质量的有效方法.这项技术是一个较新的研究领域,对大数据集的清洗工作需要花费很长的时间.由于不同的应用领域对数据清洗有不同的解释,因此数据清洗直到现在都没有一个公认.统一的定义.数 ...
- python在txt中的替换数据清洗_数据清洗过程中常见的排序和去重操作
数据操作中排序和去重是比较常见的数据操作,本专题对排序和去重做专门介绍,并且给出一种不常用却比较有启发意义的示例:多列无序去重 目 录 1 排序 1.1 sort 单列排序返回值 1.2 order ...
- python对excel数据清洗_python数据清洗excel-阿里云开发者社区
python清洗excel的数据还是很简单的 这里就列举例子说一下 这是原始数据,这里要处理的是地区和薪水两个字段. 清洗前数据 import xlrd import codecs import re ...
- 数据清洗python实现箱线图_GitHub - nonefirst/data_analysis: 基于Python的南京二手房数据采集及可视化分析...
基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...
- 数据探索、数据清洗学习笔记
目录 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 ...
- 结构化数据、非结构化数据、数据清洗等概念
(1)结构化数据,简单来说就是数据库.结合到典型场景中更容易理解,比如企业ERP.财务系统:医疗HIS数据库:教育一卡通:政府行政审批:其他核心数据库等.这些应用需要哪些存储方案呢?基本包括高速存储应 ...
- 数据清洗(二):python数据清洗
python数据清洗 Pandas数据清洗流程: 1.数据的读写:read_csv.read_excel.to_csv to_excel 2.数据的探索与描述:info.head.describe.s ...
- 数据预处理Part1——数据清洗
文章目录 一.数据预处理 二.数据清洗 1.缺失值处理 1.1 丢弃缺失值 1.2 补全缺失值 1.3 真值转换 1.4 不处理 1.5 特征选择 2.异常值 2.1 异常值处理 2.2 保留异常数据 ...
- 利用poi实现对数据清洗
利用poi实现对数据清洗 1.数据清洗 1.1.什么是数据清洗 1.2.数据清洗的步骤 1.3.数据清洗的方法 1.4.那么我们该怎么实现数据清洗呢? 2.1.使用poi实现对excel的写入(200 ...
最新文章
- 对不起,让你笑了这么久!
- 【面试题】如何设计一个高并发的系统?
- python多线程输出_Python多线程
- Tomcat容器、JSP和Servlet
- ASP.NET中全局变量
- VUE第三篇 入门后续
- Asp.net2.0:如何使用ObjectDataSource
- java如何将数据保存为xml6_用Java实现可保存状态的数据库生成XML树,源码来了(9)...
- Linux服务器性能优化
- ******:突破空格的限制
- 使用echarts(四)定时刷新图表
- uBLAS——Boost 线性代数基础程序库
- 【AcWing19】【LeetCode】DFS - 46/47/39/77/78/216/17/131/93/90/491
- Python 如何被证明是 2021 年的转折点语言
- 制作stlink(烧录部分)
- relation-graph实现企业架构图,关系图等(天眼查,企查查等企业架构图等实现)
- 0x800700c1添加语言,Win10更新失败出现”0x800700C1“错误的解决方法
- Oracle日常性能查看
- 还在研究pdf怎么加水印?你用python的同事早已下班了
- 用tkinter写一个简陋版的扣一佛主陪你笑,敲木鱼功德+1(附带源码)