如何使用 Estimators 在 TensorFlow 中创建特征列和输入函数?
TensorFlow 可以结合 Estimators 使用 one-hot 编码方法来创建特征列和输入函数。“feature_column.indicator_column” 用于返回此 one-hot 编码技术的输出。
阅读更多: 什么是 TensorFlow 以及 Keras 如何与 TensorFlow 协作创建神经网络?
我们将使用 Keras Sequential API,它有助于构建一个顺序模型,用于处理简单的层堆栈,其中每一层只有一个输入张量和一个输出张量。
包含至少一层卷积层的神经网络称为卷积神经网络。我们可以使用卷积神经网络构建学习模型。
我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置,并可免费访问 GPU(图形处理单元)。Colaboratory 建立在 Jupyter Notebook 之上。
我们将使用 tf.estimator API 训练一个逻辑回归模型。该模型用作其他算法的基线。我们使用泰坦尼克号数据集,目标是根据性别、年龄、等级等特征预测乘客的生存情况。
Estimators 使用特征列来描述模型如何解释原始输入特征。Estimator 期望一个数值输入向量,特征列将帮助描述模型应该如何转换数据集中每个特征。
示例
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://tensorflowcn.cn/tutorials/estimator/boosted_trees
输出
The method to use one hot encoding technique One hot encode categorical features
解释
CATEGORICAL_COLUMNS 中的字段从分类列转换为 one-hot 编码列。
在此之前,它首先被转换为指示符列。
获取分类特征。
广告