我使用的数据集同时包含数值+分类数据。在进行培训和评估之前,我将分类特性转换为数字特性,最后得到相同数量的特性,只是数字特性:
基于此笔记本:
https://www.kaggle.com/jannesklaas/explaining-income-classification-with-keras/notebook
我的模型是使用keras + Estimator (model_to_estimator)来定义训练和服务功能。
特征总数: 14
输入功能:
def input_fn(features, labels, shuffle, num_epochs, batch_size):
dataset = tf.data.Dataset.from_tensor_slices((features, labels))
if shuffle:
dataset = dataset.shuffle(buffer_size=256)
dataset = dataset.repeat(num_epochs)
dataset = dataset.batch(batch_size)
return dataset如果我想做真实的预测,数据需要转换成数字吗?
25, Private, 226802, 11th, 7, Never-married, Machine-op-inspct, Own-child, Black, Male, 0, 0, 40, United-States, <=50K这是用于函数的估计量:
train_input_fn = lambda: input_fn(features=X_train,
labels=Y_train,
shuffle=True,
num_epochs=10,
batch_size=40)
estimator.train(train_input_fn)参考这里
如何创建一个函数来传递预测?
发布于 2018-12-04 04:26:27
数据应该是数字的。估值器方法为它们相关的输入函数构造图形,因此您可以使当前的input_fn更通用,也可以通过只输入X_test和Y_test来返回测试数据集,也可以编写一个新的方法来实现这一点。目标可以传递给预测方法,因为只有当输入以元组的形式出现时,它才会接受第一项。
https://stackoverflow.com/questions/53603775
复制相似问题