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

使用Logistic回归分析砖房价格时遇‘y值需0<=y<=1’错误求助

问题根源与解决方案

错误原因

你搞反了Logistic回归的变量角色:Logistic回归要求因变量必须是二分类(0/1或布尔值),而你把连续型的房价(Price)放在了因变量位置——房价数值远大于1,自然触发y values must be 0 <= y <= 1的报错。

针对你的研究问题的正确模型

你的核心需求是判断“砖房是否比非砖房更贵”,这个问题对应线性回归,因为你要比较两类房子的连续型房价差异:

# 线性回归:用Brick预测Price,直接看Brick的系数判断砖房溢价
glm(Price ~ Brick, data = mc)
# 或者用基础的lm函数,结果一致
lm(Price ~ Brick, data = mc)

模型中Brick的系数会直接告诉你:砖房比非砖房的平均房价高多少。

满足作业要求的Logistic回归用法

如果必须对比Logistic与线性回归,Logistic回归对应的问题应该是**“用房价预测房子是否是砖房”**,此时二分类的Brick是因变量,连续型的Price是自变量:

  1. 确保Brick已转为0/1(你已经完成这一步)
  2. 运行正确的Logistic回归代码:
glm(Brick ~ Price, data = mc, family = "binomial")
  1. 解决系数微小的问题:
    因为Price的数值量级大(比如单位是万元),回归系数会被缩放得极小。你可以对Price做标准化处理,让系数更易读:
# 标准化Price,生成新列
mc$Price_scaled <- scale(mc$Price)
# 用标准化后的Price做Logistic回归
glm(Brick ~ Price_scaled, data = mc, family = "binomial")

此时的系数代表:房价每变化1个标准差,房子是砖房的对数发生比的变化量。

总结

  • 原始报错是因为违反了Logistic回归的因变量类型要求;
  • 对应“砖房是否更贵”的研究问题,线性回归是适配的模型;
  • 若要使用Logistic回归,需调整变量角色为“用房价预测是否是砖房”,必要时标准化自变量优化系数可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:45:19