tf.feature_column.categorical_column_with_vocabulary_list
Объект с вокабуляром в памяти. (устарело)
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 | Значение целочисленного идентификатора, которое необходимо вернуть для значений признаков, отсутствующих в словаре, по умолчанию равно -1. Это нельзя указать с положительным num_oov_buckets. |
num_oov_buckets | Неотрицательное целое число, количество ведёр для значений признаков, отсутствующих в словаре. Все входные данные, отсутствующие в словаре, будут назначены идентификаторам в диапазоне [len(vocabulary_list), len(vocabulary_list)+num_oov_buckets) на основе хеширования входного значения. Положительный num_oov_buckets не может быть указан с default_value. |
| Возвращает | |
|---|---|
Объект 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/api_docs/python/tf/feature_column/categorical_column_with_vocabulary_list