gpt4 book ai didi

python - Statsmodels - 广播形状不同?

转载 作者:行者123 更新时间:2023-11-28 16:32:46 25 4
gpt4 key购买 nike

我正在尝试使用 statsmodels 中的 logit 模块对包含 bool 值(“默认”)目标变量和两个特征(“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: operands could not be broadcast together with shapes (40406,2) (40406,)

这怎么会发生?

最佳答案

问题是 traindf['default'] 包含非数字值。

以下代码重现了错误:

import pandas as pd, numpy as np, statsmodels.formula.api as smf
df = pd.DataFrame(np.random.randn(1000,2), columns=list('AB'))
df['C'] = ((df['B'] > 0)*1).apply(str)
lmf = smf.logit('C ~ A', df).fit()

下面的代码是修复这个实例的可能方法:

df.replace(to_replace={'C' : {'1': 1, '0': 0}}, inplace = True)
lmf = smf.logit('C ~ A', df).fit()

post报告了一个类似的问题。

关于python - Statsmodels - 广播形状不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30314188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com