tf.feature_column.categorical_column_with_vocabulary_list
| Просмотреть исходный код на GitHub |
A CategoricalColumn со встроенным словарем.
tf.feature_column.categorical_column_with_vocabulary_list(
key, vocabulary_list, dtype=None, default_value=-1, num_oov_buckets=0
)
Используйте этот класс, когда ваши входные данные представлены в строчном или целочисленном формате, и у вас есть встроенный словарь, сопоставляющий каждое значение целочисленному идентификатору. По умолчанию значения вне словаря игнорируются. Используйте один из (но не оба) num_oov_buckets и default_value для указания того, как включить значения вне словаря.
Для входного словаря features, features[key] является либо Tensor, либо SparseTensor. Если Tensor, пропущенные значения могут быть представлены -1 для целых чисел и '' для строк, которые будут отброшены этим столбцом признаков.
Пример с num_oov_buckets: В приведенном ниже примере каждому входу в vocabulary_list присваивается идентификатор 0-3, соответствующий его индексу (например, вход 'B' даёт выход 2). Все остальные входные данные хэшируются и получают идентификатор 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 присваивается идентификатор 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)
| Аргументы | |
|---|---|
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) на основе хэширования входного значения. Положительный num_oov_buckets не может быть указан с default_value. |
| Возвращаемые значения | |
|---|---|
A CategoricalColumn со встроенным словарем. |
| Исключения | |
|---|---|
ValueError | если vocabulary_list пустой или содержит дубликаты ключей. |
ValueError | num_oov_buckets является отрицательным целым числом. |
ValueError | num_oov_buckets и default_value оба указаны. |
ValueError | если dtype не является целым числом или строкой. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/feature_column/categorical_column_with_vocabulary_list