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

多输出神经网络计算R²遇ValueError:数组维度为3,估计器要求≤2

多输出神经网络R²计算维度不匹配问题

问题重现

训练了一个双输出神经网络,测试集y_test和预测结果y_pred均对应两个输出维度,但调用sklearn.metrics.r2_score时触发维度错误。

数据维度情况

  • y_test为2D数组(形状:(样本数, 2)):
import numpy as np

y_test = np.array([[242.14,  61.],
                   [179.48, 140.54],
                   [ 98.16,  36.05],
                   ...,
                   [187.73, 111.39],
                   [ 52.15,  25.82],
                   [119.92,  54.52]])
  • y_pred为3D数组(形状:(样本数, 2, 1)):
y_pred = np.array([[[178.8299  ],
                    [ 73.47848 ]],

                   [[216.90152 ],
                    [116.74648 ]],

                   [[215.67923 ],
                    [ 47.019424]],

                   ...,

                   [[236.51259 ],
                    [167.34752 ]],

                   [[156.02226 ],
                    [ 61.292656]],

                   [[151.5344  ],
                    [ 56.285583]]])

报错代码与错误信息

执行以下代码:

from sklearn.metrics import r2_score
r2 = r2_score(y_test, y_pred)
r2 = round(r2,2)
print('R2 =',r2)

触发错误:

ValueError: Found array with dim 3. Estimator expected <= 2。

原因分析

r2_score要求输入的真实值与预测值维度一致,这里y_test是2D数组,而y_pred多了一个多余的单维度(第三维大小为1),导致维度不匹配。

解决办法

将y_pred压缩为2D数组,两种常用方法:

方法1:使用np.squeeze()去除冗余维度

np.squeeze()会自动移除所有大小为1的维度:

from sklearn.metrics import r2_score
import numpy as np

# 压缩维度
y_pred_2d = np.squeeze(y_pred)
# 计算R²
r2 = r2_score(y_test, y_pred_2d)
r2 = round(r2, 2)
print('R2 =', r2)

方法2:使用reshape()手动调整形状

根据已知维度直接重塑数组:

from sklearn.metrics import r2_score
import numpy as np

# 重塑为(样本数, 2)的2D数组
y_pred_2d = y_pred.reshape(y_pred.shape[0], y_pred.shape[1])
# 计算R²
r2 = r2_score(y_test, y_pred_2d)
r2 = round(r2, 2)
print('R2 =', r2)

多输出R²的额外说明

对于双输出任务,r2_score默认会返回每个输出对应的R²值。如果需要计算所有输出的平均R²,可以指定multioutput参数:

# 按输出维度权重平均
r2_avg = r2_score(y_test, y_pred_2d, multioutput='uniform_average')
# 或者保留每个输出的原始R²值
r2_raw = r2_score(y_test, y_pred_2d, multioutput='raw_values')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:50:33