Tensorflow 如何与 Estimators 配合使用来创建特征列和输入函数?

tensorflowserver side programmingprogramming更新于 2025/5/20 3:37:17

Tensorflow 可以与 Estimators 配合使用,使用独热编码方法创建特征列和输入函数。‘feature_column.indicator_column’用于返回此独热编码技术的输出。

阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?

我们将使用 Keras Sequential API,它有助于构建用于处理普通层堆栈的顺序模型,其中每个层都有一个输入张量和一个输出张量。

包含至少一个层的神经网络称为卷积层。我们可以使用卷积神经网络构建学习模型。

我们使用 Google Colaboratory 运行以下代码。Google Colab 或 Colaboratory 有助于在浏览器上运行 Python 代码,无需任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 是在 Jupyter Notebook 上构建的。

我们将使用 tf.estimator API 训练逻辑回归模型。该模型用作其他算法的基线。我们使用泰坦尼克号数据集,目的是根据性别、年龄、舱位等特征预测乘客的生存情况。

估算器使用特征列来描述模型如何解释原始输入特征。估算器需要一个数字输入向量,特征列将有助于描述模型应如何转换数据集中的每个特征。

示例

CATEGORICAL_COLUMNS = ['sex', 'n_siblings_spouses', 'parch', 'class', 'deck', 'embark_town', 'alone']
NUMERIC_COLUMNS = ['age', 'fare']
print("The method to use one hot encoding technique")
def one_hot_cat_column(feature_name, vocab):
return tf.feature_column.indicator_column(
tf.feature_column.categorical_column_with_vocabulary_list(feature_name, vocab))
feature_columns = []
print("One hot encode categorical features")
for feature_name in CATEGORICAL_COLUMNS:
vocabulary = dftrain[feature_name].unique()
feature_columns.append(one_hot_cat_column(feature_name, vocabulary))
for feature_name in NUMERIC_COLUMNS:
feature_columns.append(tf.feature_column.numeric_column(feature_name, dtype=tf.float32))

代码来源 −https://www.tensorflow.org/tutorials/estimator/boosted_trees

输出

The method to use one hot encoding technique
One hot encode categorical features

解释

  • CATEGORICAL_COLUMNS 中的字段由分类列转换为独热编码列。

  • 在此之前,先将其转换为指示列。

  • 获取分类特征。


相关文章