5.3 异常值处理

修补异常值

通过直接删除的方式处理异常值,虽然是最直接方法的方法,但是会减少数据样本,因此在数据集小的情况下,减少数据样本会对结果产生影响;在含有较多异常值的数据集中,大量的删除异常值也会对结果产生影响。因此,当异常值没有可研究性的情况下,应该对这些异常值进行修补处理。 修补异常值的方式主要有两种,即改异常值和替换异常值。

通过Kettle工具,替换和修改数据表interpolation_data中的异常值。

现在有一份500人的身高调查数据表interpolation_data,其中包括id、Gender和Height字段,具体数据内容如图所示(注:这里只截取了部分人的数据)。

 我们用navicat运行sql文件

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

双击“表输入”控件,进入“表输入”配置界面。

单击【新建】按钮,配置数据库连接,配置完成后单击【确认】按钮。

在SQL框中编写查询数据表interpolation_data的SQL语句,然后单击【预览】按钮,查看数据表interpolation_data的数据是否成功从MySQL数据库中抽取到表输入流中。

 

 

双击“过滤记录”控件,进入“过滤记录”配置界面。

在“条件”处设置过滤的条件,即设置Height字段的取值范围([114-226]),从而判断数据表中的每个数据是否为异常值。若是在非异常值的取值范围内,则是非异常值,否则是异常值。

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

选中“空操作(什么也不做)”控件,然后单击转换工作区顶部的 按钮,预览“空操作(什么也不做)”控件中的数据,id为15的这条数据,Height字段为260,260不在非异常值范围[114,226]内,因此该条数据为异常数据。

双击“设置值为NULL”控件,进入“设置值为NULL”界面;在“字段”处添加要设为NULL值的字段名称和值。

双击“字段选择”控件,进入“选择/改名值”界面。

 

 在“移除”选项卡处添加要移除的字段名称,这里移除的是字段flagfield。

运行情况:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kiritobryant

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值