R- model.matrix用于返回所有级别的因子

时间:2015-11-11 20:18:21

标签: r logistic-regression predict model.matrix

我需要手动预测概率。我正在使用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矩阵相比,我将有不同数量的变量。

0 个答案:

没有答案