Python 逻辑回归模型的Patsy值误差

Python 逻辑回归模型的Patsy值误差,python,logistic-regression,predict,patsy,Python,Logistic Regression,Predict,Patsy,为了回答我的问题,我建立了一个非常简单的逻辑模型。下面是代码 import patsy import pandas as pd import statsmodels.api as sm df = pd.DataFrame() for i in range(5): df.at[i, 'response'] = 1 if i == 3: df.at[i,'response'] = 0 df['x'] = range(5) y, X = patsy.dmatri

为了回答我的问题,我建立了一个非常简单的逻辑模型。下面是代码

import patsy
import pandas as pd
import statsmodels.api as sm

df = pd.DataFrame()

for i in range(5):
    df.at[i, 'response'] = 1
    if i == 3:
        df.at[i,'response'] = 0

df['x'] = range(5)

y, X = patsy.dmatrices('response ~ x', df,return_type = 'dataframe')
logit_model=sm.Logit(y,X)
result=logit_model.fit()

ypred = logit_model.predict(X)
print(ypred)
请原谅我的蹩脚代码,我在匆忙中写这个-需要去工作了哈哈。此代码引发值错误-值错误:形状(5,2)和(5,2)未对齐:2(尺寸1)!=5(尺寸0)关于第18行

我真的不明白它们是如何不对齐的,因为我只是使用predict()将列车数据X传递回模型中。我的感觉是我错过了一些关于patsy.dmatrices的东西


有人有想法吗?

您已将安装的对象指定给
结果,因此您应该使用该结果预测:

result.predict(X)
要获得拟合值,还可以执行以下操作:

result.fittedvalues

我不能重现你的错误。我正在运行statsmodels 0.12.0我正在运行statsmodels 0.12.1刚刚意识到我是个白痴,应该是ypred=result.predict(X)