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 не является целым числом или строкой. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/feature_column/categorical_column_with_vocabulary_list