【发布时间】:2015-05-18 23:09:05
【问题描述】:
我正在尝试使用 statsmodels 中的 logit 模块对包含布尔目标变量(“默认”)和两个特征(“fico_interp”、“home_ownership_int”)的数据集执行逻辑回归。所有三个值都来自同一个数据框“traindf”:
from sklearn import datasets
import statsmodels.formula.api as smf
lmf = smf.logit('default ~ fico_interp + home_ownership_int',traindf).fit()
这会产生错误消息:
ValueError: 操作数不能与形状一起广播 (40406,2) (40406,)
怎么会这样?
【问题讨论】:
-
fico_interp或home_ownership_int列之一是 (x,2) 数组。尝试将它们可视化 -
我的猜测是布尔目标变量不起作用。尝试将其转换为
int。 patsy 将布尔值视为分类变量并将其转换为不适用于 Logit 的二维响应变量。在 statsmodels 中应该已经有一个未解决的问题,但还没有解决方案。 -
@wajdi 嗨,Wajdi - 这似乎无法解决问题。 home_ownership_int 确实是一个分类变量,但是当我替换一个连续变量时,我会收到相同的错误消息。我还注意到每个变量都是具有相同尺寸的 dtype 'object' - (40407,)
标签: python statsmodels