首页 > 解决方案 > 如何在 TensorFlow 回归中指定 2 个或更多输出标签

问题描述

使用 TensorFlow 回归教程(参见:https ://www.tensorflow.org/tutorials/keras/regression )作为起点,我想扩展它以考虑 2 个输出标签。应该训练模型以从其他 5 个输入预测这 2 个输出。训练数据是通过 .csv 文件定义的,该文件正在导入、定义列标题等,所有这些都没有问题。

到目前为止,我已经使用 train_stats.pop 两次从训练集中排除了 2 个“输出”列。我还在最后一层定义了 2 个节点来保存我希望模型预测的 2 个标签:

def build_model():
  model = keras.Sequential([
    layers.Dense(64, activation='relu', input_shape=[len(train_dataset.keys())]),
    layers.Dense(64, activation='relu'),
    layers.Dense(**2**)
  ])

但是我正在努力弄清楚如何定义 2 个输出标签。一个叫做“Tj”,另一个叫做“Tleads”。原教程只设置了一个,即:

train_labels = train_dataset.pop('Tj')
test_labels = test_dataset.pop('Tj')

但我不知道如何重新定义这些行来设置两个标签。

欢迎咨询!

标签: pythontensorflowmachine-learningkeras

解决方案


为了社区的利益,在本节中提及答案(即使在评论部分中提到了)。

Tensorflow 回归可以通过以下方式为 2 个输出标签建模

  1. 添加2 nodesfinal layer
  2. 2D arraytraining and testing Label setand构造一个
  3. 展平test_labels误差直方图的输出。

推荐阅读