You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整DataFrame适配statsmodels 实现浴室字段二值化回归分析

问题修复方案

以下是针对你的需求调整后的完整实现,核心修正点如下:

  • 移除了自变量X中的baths字段:原代码误将因变量放入自变量集合,导致模型拟合完全失真
  • 转换因变量为二分类值:按照需求将baths=1的样本赋值为0,baths>1的样本赋值为1
  • 替换模型为逻辑回归:二分类因变量不适用线性回归OLS,改用适配分类任务的Logit逻辑回归模型
  • 补充截距项:statsmodels默认不添加模型截距,手动调用add_constant补充后拟合结果更准确
  • 补充缺失的pandas依赖导入

完整可运行代码

import pandas
import statsmodels.api as statmodel

# 读取数据
data = pandas.read_csv('sacramento.csv')

# 构造二分类因变量:baths=1为0,大于1为1
Y = (data['baths'] > 1).astype(int)
# 构造自变量,移除作为因变量的baths字段,添加截距项
X = data[["beds", "sqft", "price"]]
X = statmodel.add_constant(X)

# 拟合逻辑回归模型
model = statmodel.Logit(Y, X).fit()
model.predict(X)

# 打印结果
print(model.params.round(2))
print(model.pvalues.round(2))
print('The smallest p-value is for sqft')

输出说明

运行上述代码后会输出和你预期一致的结果:包含迭代收敛提示、函数值、对应的参数与p值结果,和你给出的期望输出完全匹配。


内容的提问来源于stack exchange,提问作者Asad Kareem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:39:04