pandas - 使用 tensorflow 加载 pandas 数据帧并使用单个实例进行预测
问题描述
我无法理解构建张量流模型和预处理熊猫数据框。
我一直在关注这个文档: 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 个单元的 Dense 层开始,但有 13 个功能,我不明白这是如何工作的。
最后一个问题:
在我训练了模型之后
model = get_compiled_model()
model.fit(train_dataset, epochs=15)
如何使用 model.predict() 对单个或多个训练数据实例/实例进行预测?
在将实例传递给 model.predict 方法之前,我是否必须先将实例转换为张量?IE
模型.预测(tensor(instance)
)
谢谢!
解决方案
创建模型有不同的方法。
- 模型.build()
- model.fit() 和一些数据
input_shape
在第一层中指定一个参数以进行自动构建。
即使你不指定输入层,当你拟合数据时,它也会自动调整输入大小。
应该为 model.predict() 提供类似于训练数据的输入。它可以是单个或多个(批量)输入。
推荐阅读
- git - 您可以使用 Git 将代码部署到设备组吗
- cuda - 将 cudaMalloc 数据清零的好方法是什么?
- react-native - 使用 Express 通过 Cloud Functions 进行 Firebase 身份验证
- javascript - 使用 JavaScript 和/或 TinySort 按子元素的标准对父元素进行排序
- css - 具有明确定义的尺寸的 div 是用视口宽度缩放尺寸吗?
- javascript - 如何在 Elixir 中编写多事件驱动的 if 子句?
- asp.net - 发送到主视图时 ViewModel 属性为 NULL - Asp.Net Core MVC
- java - 是我导师的界面有问题吗?
- app-store - 一个帐户拥有多个 App Store 页面
- java - 货币转换器 - 为什么我的 for 循环在 switch 中不起作用?当我运行我的代码时,只有第一个 for 循环有效