我需要手动预测概率。我正在使用this post code工作。 我想从模型中删除变量并保留原始系数以预测另一个时期。 我的公式是:
> lr$formula
target ~ grupoAntig + nu_seguros_1TRUNC + cd_sexo + grupoEdad +
vl_limite_aeQU + vl_ltd_6QU + Revolv3 + nu_servicios_1TRUNC +
fl_cliente_hit + nu_resumen_6 + fl_rv
我想删除fl_cliente_hit。所以我使用model.matrix并将其排除在外:
mm<-model.matrix(~ grupoAntig + nu_seguros_1TRUNC + cd_sexo + grupoEdad +
vl_limite_aeQU + vl_ltd_6QU + Revolv3 + nu_servicios_1TRUNC +
nu_resumen_6 + fl_rv, train)[,]
所以这个矩阵的第一行是:
> mm[1,]
(Intercept) grupoAntigh20 grupoAntigm40
1 0 1
nu_seguros_1TRUNC cd_sexoF cd_sexoM
0 0 1
grupoEdadh25 grupoEdadm40 vl_limite_aeQU145
0 1 0
vl_ltd_6QU5 Revolv3 nu_servicios_1TRUNC
0 0 0
nu_resumen_6 fl_rv1
4 0
我想这应该保持(级别数1)级别的变量。例如:
> ddply(train, .(grupoEdad ), summarize, cant=length(target))
grupoEdad cant
1 25a40 7864
2 h25 60
3 m40 11684
矩阵只包含3个级别中的2个,如mm [1,]
所示但问题出在cd_sexo上:
> ddply(train, .(cd_sexo), summarize, cant=length(target))
cd_sexo cant
1 F 8962
2 M 10646
它只有2个级别,包括两个级别。
我的问题是,由于我想预测概率,我将使用coeff(lr),与mm矩阵相比,我将有不同数量的变量。