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

Keras Sequential模型训练正常测试时维度不匹配报错如何解决?

特征维度不匹配报错解决方法

报错核心原因是模型训练时接收的输入特征维度为45,而测试阶段传入的X_test特征维度为46,二者不匹配触发输入校验报错。

排查步骤

  • 先运行代码确认数据集实际维度:
print("训练集特征数:", X_train.shape[1])
print("测试集特征数:", X_test.shape[1])

打印后可确认X_test确实比X_train多1列特征,和你预期的总45个特征不符。

  • 排查特征处理流程的常见错误点:
    • 拆分数据集时训练集正确剔除了标签列,但测试集处理时遗漏,把标签列也算进了测试特征中
    • 做独热编码、特征缩放等预处理操作时,训练集和测试集没有用统一的处理规则,导致测试集多生成了1个特征维度
    • 读取测试集csv等文件时没有设置索引列参数,把文件自带的行序号当成了特征列读入

修复方案

确认X_test多余的列后,直接裁剪为和X_train一致的45个特征即可,示例代码:

# 若多余列在末尾,直接取前45列
X_test = X_test.iloc[:, :45]
# 若明确知道多余列的列名,直接删除对应列
# X_test = X_test.drop("多余列名", axis=1)

裁剪完成后重新运行NN_model.evaluate(X_test, y1_test)即可正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:45:04