栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

黑马程序员《数据清洗》学习笔记数据清洗与检验部分内容

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

黑马程序员《数据清洗》学习笔记数据清洗与检验部分内容

目录

第五章  数据清洗与检验

5.1 数据去重

5.1.1 完全去重

5.1.2 不完全去重

5.2 缺失值处理

5.2.1 缺失值清洗策略

 5.2.2 去除缺失值

5.2.3 填充缺失值

本章习题


第五章  数据清洗与检验

        常见的数据清洗操作包括重复值的处理、缺失值的处理、异常值的处理等操作。

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 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325813.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号