如何使用 Estimators 在 TensorFlow 中进行特征工程?
可以使用 Estimators 在 TensorFlow 中进行特征工程,方法是首先定义列,然后迭代分类列。获取特征的唯一名称,并将其附加到空列表中。
阅读更多: 什么是 TensorFlow?Keras 如何与 TensorFlow 协同工作来创建神经网络?
我们将使用 Keras Sequential API,它有助于构建一个顺序模型,该模型用于处理简单的层堆栈,其中每一层只有一个输入张量和一个输出张量。
包含至少一层卷积层的神经网络称为卷积神经网络。我们可以使用卷积神经网络来构建学习模型。
我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 基于 Jupyter Notebook 构建。
Estimator 是 TensorFlow 中对完整模型的高级表示。它旨在易于扩展和异步训练。Estimator 使用特征列来描述模型如何解释原始输入特征。Estimator 期望一个数值输入向量,特征列将有助于描述模型应该如何转换数据集中的每个特征。
选择和使用正确的特征列集对于学习有效的模型至关重要。特征列可以是原始特征字典中的原始输入之一,也可以是使用针对一个或多个基本列定义的转换创建的新列。
线性估计器同时使用数值和分类特征。特征列适用于所有 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://tensorflowcn.cn/tutorials/estimator/linear
输出
Feature engineering Iterating through categorical columns Iterating through numeric columns
解释
- 此处执行特征工程。
- 迭代列,并将它们添加到列表中。
广告