预测Logistf

时间:2017-03-09 17:29:55

标签: r machine-learning logistic-regression

我正在使用一个名为logistf的R软件包进行Logistc回归,我发现这个软件包中没有预测函数可用于新数据,并且预测软件包不适用于此,所以我找到了一个代码来说明如何制作这个新数据:

fit<-logistf(Tax ~ L20+L24+L28+L29+L31+L32+L33+L36+S10+S15+S16+S17+S20, data=trainData) 
betas <- coef(fit)
X <- model.matrix(fit, data=testData)
probs <- 1 / (1 + exp(-X %*% betas))

我希望使用 fit $ predict 以及 probs 为我生成的概率来制作交叉验证版本。有没有人曾经做过这样的事情?

我想知道的其他事情是关于 fit $ predict 我正在进行二元逻辑回归,而且这个函数返回很多值,这些值来自0或1类,我怎么能知道这个?感谢

1 个答案:

答案 0 :(得分:0)

虽然您编写的代码完美无缺,但有一种简洁的方法可以获得相同的结果:

public class TestIdentidade {

public static void main(String[] args) {        

    List<Identidade> idenList = new ArrayList<Identidade>();
    idenList.add(new Identidade(1704, 1804, 28.0f));
    idenList.add(new Identidade(1806, 1905, 28.3f));
    idenList.add(new Identidade(1705, 1706, 29f));
    idenList.add(new Identidade(1707, 1807, 30.38f));

    ParentIdentidade parentIden = new ParentIdentidade();
    parentIden.setIdentidade(idenList);

    ObjectMapper mapper = new ObjectMapper();
    try {

        String json = mapper.writeValueAsString(parentIden);
        System.out.println(json);
    } catch (JsonProcessingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
  }
}

关于简历,你必须编写几行代码:

    brglm_model <- brglm(formula = response ~ predictor , family = "binomial", data = train )
brglm_pred <- predict(object = brglm_model, newdata = test , type = "response")