python - statsmodel.api.Logit : valueerror array must not contain infs or nans

标签 python pandas statsmodels

我正在尝试使用 statsmodel.api.Logit 在 Python 中应用逻辑回归。 我遇到了错误 ValueError:数组不得包含 infs 或 NaN。

当我执行时:

data['intercept'] = 1.0
train_cols = data.columns[1:]
logit = sm.Logit(data['admit'], data[train_cols])
result = logit.fit(start_params=None, method='bfgs', maxiter=20, full_output=1, disp=1, callback=None)

数据包含超过 15000 列和 2000 行。 其中 data['admit'] 是目标值,data[train_cols] 是特征列表。 任何人都可以给我一些提示来解决这个问题吗?

最佳答案

默认情况下,Logit 不会检查数据中是否存在不可处理的无穷大 (np.inf) 或 NaN (np.nan) 。在 pandas 中,后者通常表示缺少条目。

要忽略缺少数据的行并继续处理其余部分,请使用 missing='drop',如下所示:

sm.Logit(data['admit'], data[train_cols], missing='drop')

请参阅Logit docs其他选项。

如果您不希望数据包含任何缺失的条目或无穷大,则可能您加载的方式不正确。查看data[data.isnull()] 看看问题出在哪里。 (注意 Read this 查看如何使 infs 注册为 null。)

关于python - statsmodel.api.Logit : valueerror array must not contain infs or nans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19223408/

相关文章:

python - 二分查找小错误Python 3.5

python - 递归扩展和搜索特定子目录的模式

python - python 中高效的 group by 和 where 子句

python - statsmodels:一起打印多个回归模型的摘要

python - Pycharm Python 控制台回归输出未对齐

python - Python 中统计模型中的 ADF 测试

python - 为什么 Beautiful Soup 会截断此页面?

python - Pandas |以逗号分隔的组的所有值进行分组

python - Pandas 按月和年分组(日期为 datetime64[ns])并按计数汇总

python - newrelic 和 zope 出错