准备数据
输入数据即预测变量数据集,不包括目标标量。预测变量由挖掘模式 (Mining Schema) 定义,每一个预测变量的属性在数据字典中定义。
数据预处理
该过程的主要目的是检测输入数据的有效行。
- 遗漏值 (missing value) 检测。如果输入值为空,则为 missing value。否则对于分类变量,如果数据字典中定义了有效分类值和遗漏值集合, 如果输入数据等于其中某一遗漏值,或者不等于任何遗漏值,但是也不属于某一种有效值,我们都认为该值是一个遗漏值。 对于连续变量来说,数据字典中可以定义一个或多个有效值区间 (Interval),如果输入值不在该区间,该值就是 missing value, 如果没有任何有效区间定义,任何有效的数值都是有效。如清单 1 所示,变量 Sex 的取值只有 {F, M},如果不是这两个取值, 就认为是遗漏值;变量 Age 有效区间为 [0, 120],如果输入值为 150 则被认为是 missing value。
- 异常值 (outliers) 检测。该检测只适用于连续变量,如果输入数据不是 missing value,PMML 定义了以下三种不同的处理方式:
- 不做任何处理 (asIs)。
- 作为 missing value(asMissingValues)。
- 被边界值代替 (asExtremeValues)。如果小于最小值,则被当前的最小值代替,否则如果大于最大值, 被最大值代替。如清单 2 所示,如果变量 Na 输入值为 0.01,会被最小值 0.02 代替,如果输入值是 0.09,则会被最大值 0.08 代替。