缺失值是指数据集中某个或某些属性的值是不完整的,产生的原因主要有人为原因和机械原因两种,其中机械原因是因为由于机器故障造成数据未能收集或者储存失败,人为原因是由主观失误或有意隐瞒造成的数据缺失。
数据缺失分为两种,一种是行记录的缺失,这种情况又称为数据记录丢失;另一种情况是列值的丢失,即由于各种原因导致的数据记录中某些列的值空缺。
下面通过kettle工具分步骤讲解如何去除原始数据集中的缺失值。(以revenue.txt为例)
一,创建转换
二,配置“文本文件输入”控件
1,“文件”选项卡的配置
2,“内容”选项卡的配置
可以从txt文件看出,其用空格来分割每个属性,且每个属性没有名称,第一行就是数据,因此需要将kettle默认的分割符改为制表符,取消勾选“头部”复选框。
3,“字段”选项卡的配置
根据每行数据的内容进行判断,为其命名。
三,“字段选择”控件的配置
kettle会自动检索并添加文本文件输入控件输出的所有字段。
从原始数据分析得知,属性“sex”的缺失值很多,且其对之后数据分析并没有太大的帮助,故此移除。
四,”过滤记录“控件的配置
打开过滤记录控件如下图。
点击图中“field”(1)位置选择,要过滤的字段“name“,并在图中”=“(2)位置设置为"IS NULL";这里意思指删除name字段为空的记录;然后为其他属性(pay,area)添加同样的操作,点击”+“(3)即添加新字段;且字段与字段间关系为or;
将”发送true数据给步骤“选择为空操作,”发送flase数据给步骤“选择为Excel输出;
设置完成如下图。
五,”Excel输出“控件的配置
六,查看结果
可以看出处理之后的数据没有缺失值了。