1

我目前正在尝试对我的数据集执行数据清理,其中包含来自在线超市的在线交易的 2K 记录。

在我的数据集中,存在一些数据质量问题 -

1)“?” 在我的收入列中,如图所示

收入与

我可以知道如何在 IBM SPSS Modeler 中清理这些数据吗?我尝试使用“填充”节点来替换“?” 但我不太确定在表达式生成器中写什么。如您所见,由于带有“?”的记录,Income 以字符串形式存储在 Filler 节点中。

IBM Spss Modeler 填充节点

是否有人知道如何替换/清理收入数据,因为我想使用数据审计准备节点将缺失值替换为收入列的平均值。但是,要我这样做,我需要删除“?” 为了将收入类型更改为类型节点中的连续数据。

类型节点

2) 我的 Cigg 列的缺失值 (T/F)

在此处输入图像描述

我不太确定如何将 Cigg 列的缺失值替换为布尔值。我可以知道我应该如何为此替换数据吗?

谢谢你。

4

3 回答 3

0

对于问号,您可以尝试变量=“?”,或在文本编辑器中读取符号,然后将其放入公式中。解决方法是逻辑排除,例如:条件替换 -> not(Variable >= 0) -> 0

对于空值,您可以使用 Replace 部分上的 Blanks and Nulls 按钮,或者您可以使用 Variable = undef(undef 是 Modeler 中的 Null 值)

这是 Filler 节点中的所有逻辑。

于 2019-03-18T06:36:46.960 回答
0

1.)您可以尝试@FIELD = "?"在您的填充节点条件下使用。

2.) 这取决于您要对数据做什么,根据使用情况,最好忽略列,将其替换为默认值或忽略数据行。

于 2018-09-04T13:47:29.417 回答
0

图片被我屏蔽了,但你可以试试:

1)“?” 在我的收入列中,如图所示: 使用具有类似于以下语法的派生节点:

replace('?','',收入)

语法将替换所有符号“?” 为了 ''。

2) 我的 Cigg 列的缺失值 (T/F)

你想对缺失值做什么?您可以删除具有缺失值的行或使用某种技术来替换它们,但如果您有 2k 条记录,那么删除那些缺失的行可能会更好。

A)为了删除它们,请使用具有以下语法的过滤器节点:

'variable' = '$null$' 并在对话框中选择选项丢弃。

B) 替换缺失值:使用派生节点并编写类似于以下内容的语法:

if variable = '$null$' then mean(variable) else variable endif (我在这里使用了平均值,但尝试查看为您替换缺失的最佳选项)。

上面的这些节点将创建新变量,您必须为它们选择一个新名称以及对话框中的变量类型。

来自 IBM 的派生节点参考

希望对您有所帮助!

于 2018-08-22T12:16:59.390 回答