如何将 Tensorflow 与估算器结合使用,对模型进行特征工程?

tensorflowserver side programmingprogramming更新于 2025/5/21 10:22:17

Tensorflow 可以与估算器结合使用,通过首先定义列并遍历分类列进行特征工程。获取特征的唯一名称,并将其附加到空列表中。

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

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

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

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

估算器是 TensorFlow 对完整模型的高级表示。它旨在轻松扩展和异步训练。估算器使用特征列来描述模型如何解释原始输入特征。估算器需要数字输入向量,而特征列将有助于描述模型应如何转换数据集中的每个特征。

选择和使用正确的特征列集对于学习有效的模型至关重要。特征列可以是原始特征字典中的原始输入之一,也可以是使用在一个或多个基础列上定义的转换创建的新列。

线性估算器使用数字和分类特征。特征列可与所有 TensorFlow 估算器配合使用。它们的目标是定义用于建模的特征。它们还具有特征工程功能,例如独热编码、规范化和分桶化。

示例

print("Feature engineering")
CATEGORICAL_COLUMNS = ['sex', 'n_siblings_spouses', 'parch', 'class', 'deck', 'embark_town', 'alone']
NUMERIC_COLUMNS = ['age', 'fare']
feature_columns = []
print("Iterating through categorical columns")
for feature_name in CATEGORICAL_COLUMNS:
vocabulary = dftrain[feature_name].unique()
feature_columns.append(tf.feature_column.categorical_column_with_vocabulary_list(feature_name, vocabulary))
print("Iterating through numeric columns")
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/linear

输出

Feature engineering
Iterating through categorical columns
Iterating through numeric columns

解释

  • 在此执行特征工程。
  • 列被迭代,并附加到列表中。

相关文章