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

如何解决线性回归预测时的‘EXPECTED 2D ARRAY’错误?

解决LinearRegression.predict()的ValueError问题

错误原因

scikit-learn的LinearRegression模型训练时接收的特征数据是二维数组格式(比如你代码里的df[['area']]是DataFrame,本质是二维结构),因此predict()方法要求输入必须是二维数组,直接传入单个数值3300会生成一维数组,触发ValueError。

解决方案

以下三种方法都可以解决这个问题:

  • 方法一:用双层方括号构造二维列表
    直接将输入值包裹在双层方括号中,生成符合要求的二维结构:

    reg.predict([[3300]])
    
  • 方法二:用numpy的reshape转换维度
    将单个数值转为numpy数组后,通过reshape(1, -1)把一维数组转为1行1列的二维数组:

    import numpy as np
    reg.predict(np.array(3300).reshape(1, -1))
    
  • 方法三:构造DataFrame传入
    保持和训练数据一致的DataFrame格式,确保输入结构完全匹配:

    reg.predict(pd.DataFrame({'area': [3300]}))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 22:29:53