我正在使用一个同时包含数值+分类数据的数据集。 在训练和评估之前,我将分类特征转换为数字特征,最终得到了相同数量的特征,只是数字特征:
基于此笔记本:
https://www.kaggle.com/jannesklaas/explaining-income-classification-with-keras/notebook
我的模型使用的是keras + Estimator(model_to_estimator),该模型定义了Training and Serving函数。
总特征: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)
引用here
如何创建一个能够通过预测的功能?
答案 0 :(得分:1)
数据应为数字。 estimator方法为其关联的输入函数构造图形,因此您可以使X_test和Y_test变得更通用,从而能够返回测试数据集,也可以编写一个新方法来执行此操作。目标可以传递给预测方法,因为只有在输入为元组形式时,它才会采用第一项。