0

我需要手动预测概率。我正在使用这个邮政编码。我想从模型中删除一个变量并保留原始系数来预测另一个时期。我的公式是:

> 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 

如您在 mm[1,] 中看到的,矩阵仅包含这 3 个级别中的 2 个

但问题在于 cd_sexo:

> ddply(train, .(cd_sexo), summarize, cant=length(target))
  cd_sexo  cant
1       F  8962
2       M 10646

它只有 2 个级别,并且包括两个级别。

我的问题是,由于我想预测概率,我将使用 coeff(lr) 并且与 mm 矩阵相比,我将拥有不同数量的变量。

4

0 回答 0