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

MLPRegressor报错‘y_true与y_pred输出数量不一致’的解决求助

问题修复方案

核心错误原因

你在计算回归评估指标时,错误地将测试集的输入特征X_test作为真实标签(y_true)传入r2_score和mean_squared_error函数,正确的真实标签应该是y_test。这就导致y_true是9列(你的输入特征数),而模型预测的pred_nnr是1列(回归任务的输出),两者维度不匹配,触发了ValueError。

修复后的代码

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
model_nnr = MLPRegressor(
    hidden_layer_sizes = (30,30,30,30,30),
    activation = 'logistic',
    random_state = 0
).fit(X_train, y_train)

pred_nnr = model_nnr.predict(X_test)

# 修正:将X_test替换为y_test
print('r2_score:', r2_score(y_test, pred_nnr))
print('Mean Squared Error:', mean_squared_error(y_test, pred_nnr))

额外检查建议

  • 确认y的形状:确保你的输出标签y是一维数组(如(n_samples,))或二维单列数组(如(n_samples,1)),避免因y的维度异常导致模型输出不符合预期。
  • 验证拆分结果:可以打印y_test.shape和pred_nnr.shape,确认两者维度一致后再计算评估指标。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:04:58