5.2 缺失值处理(填充缺失值)

5.2.2填充缺失值

数据挖掘中,面对的通常都是大型的数据库,它的属性有几十个甚至几百个,因为其中某个属性值的缺失而放弃大量其他的属性值,这种删除是对信息的极大浪费,所以产生了插补缺失值的思想与方法。常用的填充缺失值方法如下。

 

1.案例介绍

通过Kettle工具,使用平均值填充法对文件people_survey.txt中的缺失值进行填充。

2.数据准备

现在有一份社会人员调查信息的数据文件people_survey.txt,由于某种原因,在数据采集的过程中产生了大量的缺失值,文件people_survey.txt的具体内容如图所示。

 3.具体步骤

(1)打开Kettle工具,创建转换

通过使用Kettle工具,创建一个转换fill_missing_value,并添加“文本文件输入”控件、“过滤记录”控件、“空操作(什么也不做)”控件、“替换NULL值”控件、“合并记录”控件、“字段选择”控件以及Hop跳连接线。

(2)配置文本文件输入控件

双击“文本文件输入”控件,进入“文本文件输入”配置界面,单击【浏览】按钮,选择要去除缺失值的文件people_survey.txt;单击【增加】按钮,将要去除缺失值的文件people_survey.txt添加到“文本文件输入”控件中。

 单击“内容”选项卡;在清除分隔符处的默认分隔符“;”,单击【Insert TAB】按钮,在分隔符处插入一个制表符;取消勾选“头部”复选框,若不取消,在进行数据抽取操作时会排除文件第一行的数据。

 单击“字段”选项卡;根据文件people_survey.txt文件的内容添加对应的字段名称,并指定数据类型。 

 单击【预览记录】按钮,查看文件people_survey.txt的数据是否成功抽取到文本文件输入流中

(3)配置过滤记录控件

双击“过滤记录”控件,进入“过滤记录”配置界面,在“条件”处设置过滤的条件处将过滤字段设置为workclass、过滤值设置为Private作为过滤条件。

  在“发送true数据给步骤:”下拉框中选择“空操作”,将workclass字段值为Private的数据放在“空操作”控件中;在“发送false数据给步骤:”下拉框中选择“空操作(什么也不做)2”,将workclass字段值不为Private的数据放在“空操作(什么也不做)2”控件中。

(4)配置替换NULL值控件 

双击“替换NULL值”控件,进入“替换NULL值”配置界面,勾选“选择字段”处的复选框,并在“字段”框添加字段为hours_per_week,值替换为44。

(5)配置合并记录控件

双击“合并记录”控件,进入“合并行(比较)”配置界面,在”旧数据源:”下拉框选择“替换NULL值”,“新数据源:”下拉框选择“空操作(什么也不做)2”;在“匹配的关键字:”部分,添加关键字段,即userid。

(6)配置替换NULL值2控件 

双击“替换NULL值2”控件,进入“替换NULL值”配置界面,勾选“选择字段”处的复选框,并在“字段”框添加字段为workclass,值替换为Private(这里用Private替换字段workclass中的NULL值)。

(7)配置字段选择控件 

双击“字段选择”控件,进入“选择/改名值”配置界面,在“移除”选项卡处添加要移除的字段名称,这里移除的是字段flagfield。

 (8)运行转换

 4.查看文件people_survey.txt

单击执行结果窗口的“Preview data”选项卡,查看是否填充了文件people_survey.txt中的缺失值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值