Python中真实值与预测值尺寸不同时如何绘制对比散点图
问题修复方案
核心原因
报错x and y must be the same size的本质是预测值y_pred2和测试集真实值y_test的样本数量不一致,你没有给出y_pred2的生成代码,最常见的原因是生成预测值时误将训练集X_train或全量特征矩阵X传入了predict方法,而非测试集X_test。
修复步骤
- 修正
y_pred2的生成逻辑,确保预测时传入测试集特征:
# 你大概率用了错误的输入生成预测值,比如: # y_pred2 = model2.predict(X_train) # 输出样本数等于训练集大小,和y_test不匹配 # 正确写法: y_pred2 = model2.predict(X_test)
- 执行以下代码验证形状匹配后,再运行绘图代码即可:
print(y_pred2.shape == y_test.shape) # 输出为True即可正常绘图
额外排查点
如果修正预测输入后形状仍然不匹配,可回头检查数据集拆分逻辑:
- 确认
train_test_split的test_size参数是否设置正确,有没有误写为0.8 - 确认拆分前的
X和y样本数量是否一致,有没有对特征或标签做过单独的切片、过滤操作
内容的提问来源于stack exchange,提问作者Tristan Foo
相关产品推荐
相关产品推荐

