获取“statsmodels”中模型预测值的“pred_table”信息

oro*_*ome 4 python regression confusion-matrix statsmodels

在Python包中statsmodelsLogitResults.pred_table可以方便地用于获取“混淆矩阵”,对于任意阈值t,对于Logit以下形式的模型

\n\n
mod_fit = sm.Logit.from_formula(\'Y ~ a + b + c\', train).fit() \n...\nmod_fit.pred_table(t) \n#Conceptually: pred_table(t, predicted=mod_fit.predict(train), observed=train.Y)\n
Run Code Online (Sandbox Code Playgroud)\n\n

有没有办法获得测试数据的等效信息?例如,如果我

\n\n
pred = mod_fit.predict(test)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我怎样才能得到相当于

\n\n
mod_fit.pred_table(t, predicted=pred, observed=test.Y)\n
Run Code Online (Sandbox Code Playgroud)\n\n

有没有办法做到这一点(例如,从和statsmodels构建实例的方法),或者是否需要“手动”完成 \xe2\x80\x94\xc2\xa0 如果是的话如何>LogitResultspredtrain.Y

\n

jse*_*old 5

这是个好主意并且很容易添加。你能发布一个关于它的github 问题吗?您可以使用以下代码来完成此操作

import numpy as np
pred = np.array(mod_fit.predict(test) > threshold, dtype=float)
table = np.histogram2d(test.Y, pred, bins=2)[0]
Run Code Online (Sandbox Code Playgroud)