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

使用Linear Regression预测值时遇维度错误,如何重塑输入形状?

解决Linear Regression预测时的维度错误问题

当执行reg.predict(60)出现维度错误,核心原因是scikit-learn的线性回归模型要求输入必须是二维数组,而60是单个标量(一维值),不符合模型的输入格式要求。你可以通过以下几种方式重塑输入形状:

  • 方式一:使用numpy的reshape方法转换
    先导入numpy(未导入的话需先执行导入),将输入转为二维数组:

    import numpy as np
    reg.predict(np.array(60).reshape(1, -1))
    

    reshape(1, -1)会将数据转换为1行、列数自动匹配的二维结构,最终得到[[60]],满足模型输入要求。

  • 方式二:直接传入嵌套列表
    无需依赖numpy,直接把数值放在二维列表中:

    reg.predict([[60]])
    

    这种写法更简洁,本质是构造了包含单个样本的二维输入数据。

  • 方式三:批量预测多个值的处理
    如果需要预测多个数值(如60、70、80),同样要保持二维结构:

    # 直接用列表
    reg.predict([[60], [70], [80]])
    # 或用numpy
    reg.predict(np.array([60, 70, 80]).reshape(-1, 1))
    

关键提醒

scikit-learn的监督学习模型,无论训练还是预测,输入特征都要求是二维结构(行对应样本数量,列对应特征数量),哪怕只有单个样本,也必须维持这种结构,不能直接传入单个数值。

内容的提问来源于stack exchange,提问作者Random guy in internet with no

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 09:31:03