首页 > 解决方案 > 如何使用使用特征层的训练模型进行预测?

问题描述

我有一个训练有素的模型,它使用特征层作为输入。我对模型在验证集和测试集上的训练和性能感到满意。

但是现在,我想手动创建一个新示例以发送到模型并从中获得预测。

我的代码如下所示:

...

categorical_columns = []
numeric_columns = []

# numeric cols
for header in ['CreditScore', 'Age', 'Tenure', 'Balance', 'NumOfProducts', 'HasCrCard','IsActiveMember','EstimatedSalary']:
  numeric_columns.append(feature_column.numeric_column(header))

# categorical cols
categories = {
                'Geography':['France', 'Spain', 'Germany'],
                'Gender': ['Female', 'Male']
             }

for header, possible_values in categories.items():
  cat_col = tf.feature_column.categorical_column_with_vocabulary_list(key=header, vocabulary_list=possible_values)
  categorical_columns.append(tf.feature_column.indicator_column(cat_col))

feature_columns =  numeric_columns + categorical_columns

feature_layer = tf.keras.layers.DenseFeatures(feature_columns)

model = tf.keras.Sequential([
  feature_layer,
  layers.Dense(6, activation='relu'),
  layers.Dense(6, activation='relu'),
  layers.Dense(1, activation='sigmoid')
])

model.compile(optimizer='adam',
              loss='binary_crossentropy',
              metrics=['accuracy'],
              run_eagerly=True)

history = model.fit(x=train_ds, validation_data=val_ds, epochs=4)

不用担心这个问题的特征缩放,我如何将这些数据发送到模型并从中获得预测?我应该使用什么语法?

谢谢您的帮助。

标签: kerastensorflow2.0

解决方案


推荐阅读