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

线性回归调用predict方法时出现matmul维度不匹配错误如何解决?

错误原因

  • 你调用lr.predict()时传入了错误的输入参数:scikit-learn中所有预测模型的predict()方法要求输入的是特征矩阵X,而非标签数组y,你误把测试集标签y_test作为输入传入,本身就不符合预测逻辑。
  • 第一次提示1D数组错误,是因为y_test本身是一维的标签数组,而predict()要求输入的特征矩阵必须是二维结构;你后续对y_test做reshape(-1,1)调整后,相当于传入了一个只有1个特征的二维数组,但你的模型是用329维的特征训练得到的,输入特征维度和模型要求的329维不匹配,矩阵乘法运算无法执行,就触发了第二个维度不匹配的报错。

解决方法

  • 直接将测试集的特征矩阵X_test作为predict()的输入即可,不需要对y_test做任何处理,正确调用方式为:
y_pred = lr.predict(X_test)
  • 如果你遇到X_test为一维的情况(比如仅做单样本预测),再根据场景做维度调整:单样本预测使用X_test.reshape(1, -1),单特征多样本预测使用X_test.reshape(-1, 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:54:03