代码之家  ›  专栏  ›  技术社区  ›  gogasca

Keras+tf.数据集+预测

  •  1
  • gogasca  · 技术社区  · 7 年前

    在培训和评估之前,我将分类特征转换为数字特征,最终得到相同数量的特征,只是数字特征:

    https://www.kaggle.com/jannesklaas/explaining-income-classification-with-keras/notebook

    我的模型使用keras+估计器(model_to_估计器),它定义了一个训练和服务函数。

    总特色:14

    • 我的训练数据集,包含14个。
    • 我的评估数据集包含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

    如何创建能够传递预测的函数?

    1 回复  |  直到 7 年前
        1
  •  1
  •   kvish    7 年前

    数据应该是数字。估计器方法为其关联的输入函数构造图形,因此您可以通过只输入X_test和Y_test使当前输入更通用,以便能够返回测试数据集,或者您可以编写一个新方法来执行此操作。目标可以传递给predict方法,因为只有在输入是元组形式时,它才会接受第一项。