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 | Целочисленное значение идентификатора, возвращаемое для значений признаков, отсутствующих в лексике, по умолчанию -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/r1.15/api_docs/python/tf/feature_column/categorical_column_with_vocabulary_list