当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.feature_column.categorical_column_with_identity用法及代码示例


返回标识值的CategoricalColumn

用法

tf.feature_column.categorical_column_with_identity(
    key, num_buckets, default_value=None
)

参数

  • key 标识输入特征的唯一字符串。它用作特征解析配置、特征Tensor 对象和特征列的列名和字典键。
  • num_buckets 输入和输出的范围是 [0, num_buckets)
  • default_value 如果设置,超出范围 [0, num_buckets) 的值将替换为此值。如果未设置,值 >= num_buckets 将导致失败,而值

返回

  • 返回标识值的CategoricalColumn

抛出

  • ValueError 如果num_buckets 小于一。
  • ValueError 如果 default_value 不在 [0, num_buckets) 范围内。

当您的输入是 [0, num_buckets) 范围内的整数并且您希望将输入值本身用作分类 ID 时,请使用此选项。如果指定,超出此范围的值将导致 default_value,否则将失败。

通常,这用于整数索引的连续范围,但并非必须如此。但是,如果许多 ID 未被使用,这可能效率低下。在这种情况下考虑categorical_column_with_hash_bucket

对于输入字典 features , features[key]TensorSparseTensor 。如果 Tensor ,缺失值可以用 -1 表示 int 和 '' 表示 string,这将被此特征列删除。

在以下示例中,为 [0, 1000000) 范围内的每个输入分配了相同的值。所有其他输入都分配为default_value 0。请注意,输入中的文字 0 将产生相同的默认 ID。

线性模型:

import tensorflow as tf
video_id = tf.feature_column.categorical_column_with_identity(
    key='video_id', num_buckets=1000000, default_value=0)
columns = [video_id]
features = {'video_id':tf.sparse.from_dense([[2, 85, 0, 0, 0],
[33,78, 2, 73, 1]])}
linear_prediction = tf.compat.v1.feature_column.linear_model(features,
columns)

嵌入 DNN 模型:

import tensorflow as tf
video_id = tf.feature_column.categorical_column_with_identity(
    key='video_id', num_buckets=1000000, default_value=0)
columns = [tf.feature_column.embedding_column(video_id, 9)]
features = {'video_id':tf.sparse.from_dense([[2, 85, 0, 0, 0],
[33,78, 2, 73, 1]])}
input_layer = tf.keras.layers.DenseFeatures(columns)
dense_tensor = input_layer(features)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.feature_column.categorical_column_with_identity。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。