黑马程序员《数据清洗》学习笔记数据清洗与检验部分内容
Posted 眨个眼就睡着
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了黑马程序员《数据清洗》学习笔记数据清洗与检验部分内容相关的知识,希望对你有一定的参考价值。
目录
第五章 数据清洗与检验
常见的数据清洗操作包括重复值的处理、缺失值的处理、异常值的处理等操作。
5.1 数据去重
数据去重又称重复数据的删除,找出数据文件中重复的数据并将其删除,只保存唯一的数据单元,从而消除冗余数据。数据去重方法分为完全去重和不完全去重。
5.1.1 完全去重
完全去重指的是消除完全重复的数据。例如两份分别记录不同年份的用户数据信息的表格合并,发现合并后的表格存在完全重复的数据,为了便于使用这些用户数据信息,需要进行数据去重操作。
5.1.2 不完全去重
数据清洗过程中,所有字段值都相等的重复值是一定要剔除的。根据不同的业务场景,有时还需要选取其中若干字段进行去重操作。
5.2 缺失值处理
缺失值是指数据集中某个或者某些属性的值是不完整的,产生的原因主要有人为原因和机械原因两种。机械原因是由于机器故障造成数据未能收集或存储失败,人为原因是由主观失误或有意隐瞒造成。
5.2.1 缺失值清洗策略
下面通过一张图描述缺失数据的缺失率以及重要性划分的四种情况。
5.2.2 去除缺失值
数据缺失分为两种:一种是行记录的缺失,这种情况又称数据记录丢失;另一种是列值的缺失,即由于各种原因导致的数据记录中某些列的值空缺。
5.2.3 填充缺失值
数据挖掘中面对的通常都是大型的数据库,它的属性有几十个甚至几百个,因为某个属性值的缺失而放弃大量其他属性,这种删除是对信息的极大浪费,所以产生了插补缺失值的思想与方法。
常用的填充缺失值的方法是:均值填充、 热卡填充、回归填充、多重填充。
本章习题
四、操作题
1.通过kettle工具,实现一下功能:
(1)对文件进行完全去重
(2)对文件中缺失值进行填充
(1)完全去重
1. 打开kettle工具,建立转换
新建转换,添加“CSV文件输入”、“唯一行(哈希值)”控件以及Hop跳连接线。如图5-1。
图5-1
2. 配置”CSV文件输入“控件。
双击”CSV文件输入“控件,进入”CSV文件输入”界面;单击“浏览”按钮,选择需要进行完全去重处理的CSV文件;单击“获取字段”按钮,kettle自动检索CSV文件;单击“预览”按钮,查看CSV文件数据是否加载到CSV文件输入流中,如图5-2。可以看到已经完成抽取,单击“关闭”→“确定”按钮,完成配置。
图5-2
3. 配置“唯一行(哈希值)”控件。
双击“唯一行(哈希值)”控件,进入“唯一行(哈希值)”界面;在“用来比较的字段”处添加要去重的字段,可以单击“获取”按钮,添加需要去重的字段;单击“确定”按钮完成“唯一行(哈希值)”控件配置。如图5-3。
图5-3
4. 运行转换
单击工作区顶部的按钮,运行转换。如图5-4。
图5-4
(2)缺失值填充
1. 打开kettle工具,创建转换
新建转换,添加”文本文件输入“控件、”过滤记录“控件、”空操作(什么也不做)“控件、”替换NULL值“控件、”字段选择“控件、“合并记录”控件以及Hop跳连接线。如图5-5。
图5-5
2. 配置“文本文件输入”控件
双击“文本文件输入”控件,进入“文本文件输入”界面;单击“浏览”按钮,选择需要填充缺失值的文件;再单击“增加”按钮,将要填充缺失值的文件添加到“文本文件输入”控件中;单击“内容”选择卡,切换到“内容”选择卡界面。如图5-6。
图5-6
在图5-6中清除分隔符处的默认分隔符“;”,单击“Insert TAB”按钮,添加一个制表符;取消勾选“头部”复选框,不取消则会在数据抽取时会排除文件第一行数据;单击“字段”选择卡。如图5-7。
图5-7
在“字段”选择卡界面,根据文件内容添加对应的字段名称,并指定数据类型,添加的字段都选择“不去掉空格”;单击“预览”按钮,查看数据是否抽取到文本文件流中,可以看到已经成功抽取,如图5-8;单击“关闭”→“确定”按钮,完成文本文件输入”控件配置。
图5-8
3. 配置“过滤记录”控件
双击图5-5中的“过滤记录”控件,进入“过滤记录”界面;在“条件”处设置过滤的条件,将过滤字段设置为workclass、过滤值设置为private作为过滤条件;在“发送true数据给步骤”:下拉列表中选择“空操作(什么也不做)”,将另一个选择“空操作(什么也不做)2”;单击“确定”按钮,完成“过滤记录”控件配置,如图5-9。
图5-9
4. 配置“替换NULL值”控件
双击5-5中“替换NULL值”控件,进入“替换NULL值”界面;勾选“选择字段”复选框,并在“字段”框添加字段hours_per_week,值替换为44(采用平均值填充,hours_per_week所有值求和的平均值);单击“确定”按钮,完成“替换NULL值”控件配置,如图5-10。
图5-10
5. 配置“合并记录”控件
双击图5-5中“合并记录”控件,进入“合并行(比较)”界面;在“旧数据源”:后的下拉列表选择“替换NULL值“,在”新数据源“:后的下拉列表下选择”空操作(什么也不做)2“;在”匹配的关键字“部分添加关键字段userid;单击”确定“按钮,完成配置。如图5-11。
图5-11
6. 配置”替换NULL值2“控件
双击图5-5中”替换NULL值2“控件,进入”替换NULL值2“界面;勾选”选择字段“复选框,并在”字段“框添加字段workclass,值替换为private;单击”确定“按钮,完成”替换NULL值2“控件配置。如图5-12。
图5-12
7. 配置”字段选择“控件
双击图5-5中”字段选择“控件,进入”选择/改名值”界面;在“移除“选择卡界面添加需要移除的字段名称flagfield;单击”确定“按钮,完成”字段选择“控件配置。如图5-13。
图5-13
8. 运行转换
单击转换工作区顶部的运行按钮。如图5-14。
图5-14
以上是关于黑马程序员《数据清洗》学习笔记数据清洗与检验部分内容的主要内容,如果未能解决你的问题,请参考以下文章