用张量流加载熊猫数据框并通过单个实例进行预测

时间:2020-05-06 03:22:06

标签: pandas dataframe tensorflow machine-learning keras

我在理解构建张量流模型和预处理熊猫数据框方面遇到困难。

我一直在关注此文档: https://www.tensorflow.org/tutorials/load_data/pandas_dataframe

第一个问题:

dataset = tf.data.Dataset.from_tensor_slices((df.values, target.values))
train_dataset = dataset.shuffle(len(df)).batch(1)

def get_compiled_model():
  model = tf.keras.Sequential([
    tf.keras.layers.Dense(10, activation='relu'),
    tf.keras.layers.Dense(10, activation='relu'),
    tf.keras.layers.Dense(1)
  ])

由于心脏病数据帧具有13个功能,为什么文档仅以10个单位初始化第一个Dense层?为什么看起来不像这样?

def get_compiled_model():
      model = tf.keras.Sequential([
        tf.keras.layers.InputLayer(input_shape=(13,),
        tf.keras.layers.Dense(10, activation='relu'),
        tf.keras.layers.Dense(10, activation='relu'),
        tf.keras.layers.Dense(1)
      ])

在文档中,它以10个单位的密集层开始,但是有13个功能,我不知道这是如何工作的。

最后一个问题:

我对模型进行了训练

model = get_compiled_model()
model.fit(train_dataset, epochs=15)

如何使用model.predict()对训练数据的单个或多个实例/实例进行预测?

在将实例传递到model.predict方法之前,是否必须先将其转换为张量? 即

model.predict(tensor(instance)

谢谢!

1 个答案:

答案 0 :(得分:0)

创建模型有多种方法。

  1. model.build()
  2. model.fit()包含一些数据
  3. 在第一层中指定一个input_shape自变量以进行自动构建。

即使不指定输入图层,当您拟合数据时,它也会自动调整输入大小。

应该给model.predict()类似训练数据的输入。它可以是单个或多个(批次)输入。