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

Sklearn中出现ValueError:期望二维数组却得到标量数组的问题排查

问题原因与解决方法

错误原因

你调用reg.predict(750)时传入的是标量值750,但sklearn的LinearRegression.predict()方法要求输入必须是二维数组——这和你训练模型时传入的x_matrix(形状为(n_samples, 1)的2D数组)维度必须保持一致。哪怕只预测单个样本,也需要把输入包装成符合要求的二维结构。

修复方法

有两种简单的修改方式:

  1. 把标量转成二维数组(和训练时的处理逻辑一致):
reg.predict(np.array(750).reshape(-1, 1))
  1. 直接传入嵌套列表的二维结构:
reg.predict([[750]])

补充说明

训练时你把x转成x_matrix是因为LinearRegression.fit()同样要求特征输入为二维数组,但预测阶段容易忽略这个要求——记住:sklearn所有监督学习模型的predict()方法,输入的特征维度必须和训练时的特征维度完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:59:52