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

如何将Keras模型预测输出张量追加到输入test_features张量中

实现方法

TensorFlow张量默认不可修改,无法直接在原有test_features张量中新增列,可通过转换为NumPy数组或Pandas DataFrame完成拼接,有需要时再转回张量即可,具体操作如下:

方法1:NumPy数组拼接(通用场景)

适用于不需要保留特征列名,后续还要做张量运算的场景:

import numpy as np
import tensorflow as tf

# 1. 把测试特征张量转为NumPy数组
test_feat_np = test_features.numpy()
# 2. 若预测结果是一维数组,先调整为二维数组保证维度匹配
if len(z.shape) == 1:
    z = z.reshape(-1, 1)
# 3. 按列拼接,预测结果作为最后一列
test_feat_with_pred_np = np.concatenate([test_feat_np, z], axis=1)
# 4. 可选:转回张量格式
test_feat_with_pred_tensor = tf.convert_to_tensor(test_feat_with_pred_np)

方法2:Pandas DataFrame拼接(需要结构化数据的场景)

如果你之前用Pandas做预处理,需要保留特征列名方便后续分析,可以用这个方法:

import pandas as pd

# 替换为你实际使用的特征列名列表
feature_cols = ["特征1", "特征2", "..."]
# 基于特征数组和列名生成DataFrame
test_df = pd.DataFrame(test_features.numpy(), columns=feature_cols)
# 新增预测结果列,一一对应每行样本
test_df["prediction"] = z

特殊场景适配

  • 二分类任务如果需要输出0/1标签而非概率值,可先做转换再拼接:
pred_label = (z > 0.5).astype(int)
  • 多分类任务如果需要输出类别标签而非各类概率,可先取最大值索引再拼接:
pred_label = np.argmax(z, axis=1).reshape(-1, 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:36:04