【问题标题】:How to give one hot Encoding for Categorical Values for Labels in Estimator Classification in Tensorflow如何在 Tensorflow 的 Estimator 分类中为标签的分类值提供一种热编码
【发布时间】:2019-11-17 05:54:26
【问题描述】:

我有一个数据集,其中我在分类标签中有字符串值。我已经在 Tensorflow 中加载了数据集,并为不同的特征定义了特征列。既然我在 Labels 中也有 Categorical Data,那么如何给他们.one hot Encoding 以便 Estimator.LinearClassifier 可以学习数据并预测 Label?

【问题讨论】:

  • 由于您使用的是 tensorflow,因此可以选择使用tf.keras.utils.to_categorical。它可以轻松地将您的目标(标签)向量转换为二进制类矩阵。

标签: tensorflow machine-learning tensorflow-estimator


【解决方案1】:

您可以使用熊猫。假设您已经在 dataFrame 'df' 中拥有非分类特征。

使用可以使用这个:

import pandas as pd
featurelist_categorical = ['Feature A',
           'Feature B']

for i,j in zip(featurelist_categorical, ['A','B']):
  df = pd.concat([df, pd.get_dummies(data[i],prefix=j)], axis=1)

特征前缀不是必需的,但在多个分类特征的情况下会特别帮助您。

此外,如果您出于某种原因不想将功能拆分为数字,则可以使用 H2O.ai。使用 H2O,您可以直接将分类变量作为文本输入模型。

【讨论】:

    猜你喜欢
    • 2018-12-17
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 2019-07-17
    • 2021-12-01
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多