在建模过程中,某些算法对缺失值敏感,或者涉及到样本量大小时,会对缺失值进行插补。如果使用-9999对缺失值单独分箱、或者使用0值代替、或者使用平均数或者众数,都无可厚非。模型建立完成,进行决策时,如果遇到某些变量缺失,同样插入建模过程中插入的固定数值。可如果,建模过程中采用的是MICE多重插补、Datawig深度学习插补时,方法原理不同,插入的数据也不一样。能够在插补数据完成的情况下,完成模型开发。可在这类情况下,使用模型进行决策,当新客户有某些入模变量缺失时,模型如何决策?单一新客户进件的情况下,无法通过数据之间关联再使用插补法进行插补,这种情况下应该如何处理,是填0,还是不过模型?
import datawig
df_train, df_test = datawig.utils.random_split(train)
#Initialize a SimpleImputer model
imputer = datawig.SimpleImputer(
input_columns=['1','2','3','4','5','6','7', 'target'], # column(s) containing information about the column we want to impute
output_column= '0', # the column we'd like to impute values for
output_path = 'imputer_model' # stores model data and metrics
)