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


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


带有in-memory 词汇的CategoricalColumn

用法

tf.feature_column.categorical_column_with_vocabulary_list(
    key, vocabulary_list, dtype=None, default_value=-1, num_oov_buckets=0
)

参数

  • key 标识输入特征的唯一字符串。它用作特征解析配置、特征Tensor 对象和特征列的列名和字典键。
  • vocabulary_list 定义词汇表的有序迭代。每个特征都映射到 vocabulary_list 中其值的索引(如果存在)。必须可转换为 dtype
  • dtype 特征的类型。仅支持字符串和整数类型。如果 None ,将从 vocabulary_list 推断。
  • default_value 为词汇外特征值返回的整数 ID 值,默认为 -1 。这不能用正的 num_oov_buckets 来指定。
  • num_oov_buckets 非负整数,词汇表外的桶数。所有超出词汇表的输入都将根据输入值的散列分配 [len(vocabulary_list), len(vocabulary_list)+num_oov_buckets) 范围内的 ID。不能用 default_value 指定正的 num_oov_buckets

返回

  • 带有in-memory 词汇的CategoricalColumn

抛出

  • ValueError 如果 vocabulary_list 为空,或包含重复键。
  • ValueError num_oov_buckets 是一个负整数。
  • ValueError num_oov_bucketsdefault_value 均已指定。
  • ValueError 如果 dtype 不是整数或字符串。

当您的输入是字符串或整数格式,并且您有一个 in-memory 词汇表将每个值映射到一个整数 ID 时,请使用此选项。默认情况下,词汇表外的值被忽略。使用num_oov_bucketsdefault_value 中的任何一个(但不能同时使用)来指定如何包含词汇表外的值。

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

num_oov_buckets 示例:在以下示例中,vocabulary_list 中的每个输入都分配了一个与其索引对应的 ID 0-3(例如,输入 'B' 产生输出 2)。所有其他输入都经过哈希处理并分配了 ID 4-5。

colors = categorical_column_with_vocabulary_list(
    key='colors', vocabulary_list=('R', 'G', 'B', 'Y'),
    num_oov_buckets=2)
columns = [colors, ...]
features = tf.io.parse_example(..., features=make_parse_example_spec(columns))
linear_prediction, _, _ = linear_model(features, columns)

default_value 示例:在以下示例中,vocabulary_list 中的每个输入都分配了一个与其索引对应的 ID 0-4(例如,输入 'B' 产生输出 3)。所有其他输入都分配给default_value 0。

colors = categorical_column_with_vocabulary_list(
    key='colors', vocabulary_list=('X', 'R', 'G', 'B', 'Y'), default_value=0)
columns = [colors, ...]
features = tf.io.parse_example(..., features=make_parse_example_spec(columns))
linear_prediction, _, _ = linear_model(features, columns)

并使用以下任一方式进行嵌入:

columns = [embedding_column(colors, 3),...]
features = tf.io.parse_example(..., features=make_parse_example_spec(columns))
dense_tensor = input_layer(features, columns)

相关用法


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