Go back to the English version of the documentation缺失数据值
缺少数据值 (SPSS Modeler)
Last updated: 2024年12月20日
在数据挖掘的数据准备阶段,您通常需要替换数据中的缺失值。
缺失值是数据集中未知、未收集或输入不正确的值。 通常,此类值对于其字段无效。 例如,字段 Sex
应包含值 M
和 F
。 如果发现字段中的值 Y
或 Z
,那么可以安全地假定此类值无效,因此应该解释为空白。 同样,Age
字段中出现负值无意义,也应解释为空白值。 通常,在问卷调查期间,会特意输入此类明显错误的值,或者将字段留空以指示不响应。 有时候,您可能需要更仔细地检查这些空白值,以确定拒绝提供本人年龄等拒绝回答行为是否会影响到具体预测结果。
某些建模技术在处理缺失值方面有明显的优势。 例如, C5.0 节点 和 Apriori 节点 很好地处理在 类型节点中显式声明为 "缺失" 的值。 其他建模技术在处理缺失值时比较麻烦,需要的训练时间较长,而且生成的模型不够精确。
SPSS Modeler可识别多种类型的缺失值:
- Null 或系统缺失值。 这些是在数据库或源文件中留空的非字符串值,并且未在 导入 或 "类型" 节点中明确定义为 "缺失"。 系统缺失值显示为
$null$
。 请注意,在 SPSS Modeler中,空字符串不会被视为空字符串,尽管某些数据库可能会将其视为空字符串。 - 空字符串和空白。 空字符串值和空白(不含可见字符的字符串)视为与空值不同。 在大部分用途中,空字符串都视为等同于空白。 例如,如果您在“导入”或“类型”节点中选择将空格视为空白值的选项,那么此设置也会应用于空字符串。
- 空白或用户定义的缺失值。 这些是在 "导入" 节点或 "类型" 节点中显式定义为缺失的值,例如
unknown
,99
或–1
。 您还可以选择性地将空值和空白视为空白值,这样就可以予以标记以进行特殊处理,以及排除在大部分计算之外。 例如,您可以使用@BLANK
函数将这些值与其他类型的缺失值一起视为空白值。
正在读入混合数据。 请注意,读取以数字形式(整数、实数、时间、时间戳记或日期)存储的字段时,任何非数字值都会设置为 null
或 system missing
。 这是因为与某些应用程序不同, SPSS Modeler 不允许在字段中使用混合存储类型。 为避免发生这种情况,对于任何包含混合数据的字段,您应根据需要,通过在“导入”节点或外部应用程序中更改存储类型,以字符串形式读取这些字段。
从 Oracle 读取空字符串。 在读取或写入 Oracle 数据库时,请注意,与 SPSS Modeler 和大多数其他数据库不同, Oracle 将空字符串值视为等效于空值。 这意味着,同样的数据从 Oracle 数据库抽取时,其行为可能不同于从文件或其他数据库抽取时的行为,而且该数据可能会返回不同的结果。