R-返回所有级别的因素的模型矩阵
我需要手动预测概率。我在用电脑工作。 我想从模型中删除一个变量,并保留原始系数以预测另一个周期。 我的公式是:R-返回所有级别的因素的模型矩阵,r,logistic-regression,predict,model.matrix,R,Logistic Regression,Predict,Model.matrix,我需要手动预测概率。我在用电脑工作。 我想从模型中删除一个变量,并保留原始系数以预测另一个周期。 我的公式是: > 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 我想删
> 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_客户。所以我使用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)[,]
我想这应该保持变量的(级别数-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
它只有两个级别,而且两个级别都包含在内
我的问题是,因为我想预测概率,所以我将使用系数(lr),与mm矩阵相比,我将有不同数量的变量。表(train$cd_sexto,useNA='always')看起来像什么?或者
with(train,table(cd_sexto,target,useNA='always'))
不确定目标是什么为什么需要手动预测概率而不是使用内置方法?基本方法是通过某种匹配(例如名称)在模型矩阵上进行列子集设置同样地,在系数向量上做索引子集。。。。但我不清楚为什么不使用内置方法。例如,下面是一个相关的问题/答案:
> ddply(train, .(cd_sexo), summarize, cant=length(target))
cd_sexo cant
1 F 8962
2 M 10646