2016-12-05 127 views
1

我已经能够使用result = logit.fit()做模型预测。python的statsmodel包中的测试和验证

现在进行测试和验证设置我们只需要做result.predict(test_df[features])result.predict(vald_df[features])?这就是全部?或者我错过了一些步骤?当我尝试部署该模型进行日常预测时,情况会有什么不同?

我是statmodel的新手,事实上从今天开始,种类不足。我查了几个博客,信息不相关,所以只是想确定一下。

另外,有没有一种方法可以直接从statsmodel中提取'Area under ROC'而不是编码我们的方式?

+0

对于预测就是这样。一旦你从一个拟合模型得到了结果实例,你可以在新数据上调用'predict'。新数据需要与原始数据的结构相匹配。如果您使用公式,那么数据将按照与训练数据相同的方式进行转换。如果您直接将设计矩阵作为DataFrame或numpy数组提供,则用于预测的数据需要与此相匹配,例如,你需要明确包含常量,它不会自动添加。 – user333700

回答

0

对于第一个问题,每个ML算法(树,逻辑回归,...)都有参数。为un算法找到最佳参数,我们训练多个具有不同参数的模型,并保留在验证数据集上得到最佳分数的模型(参数)。 现在这个分数并没有给你一个想法,即你在生产(预测)中会给你一次什么样的分数,因为你用测试数据集中的最佳参数测试了你的模型,这个最终分数让你知道你的模型将如何执行在生产上。

对于第二个问题,你可以用小品学习,我谷歌,我发现放入系统的例子http://www.programcreek.com/python/example/82598/sklearn.metrics.auc

+0

我的查询都是特定于在python包名称'statsmodel'中开发解决方案的。我知道scikit学习可以给我的指标,但我使用statsmodel,因为它是不容易的提取p值的scikit学习,我需要,可以从statsmodel得到的系数 – CARTman

+0

statsmodels没有AUC,但我认为你可以使用statsmodels的结果调用scikit-learn AUC函数。 – user333700

+0

这并没有发生在我身上..让我试试 – CARTman