tf.compat.v1.feature_column.categorical_column_with_vocabulary_file
CategoricalColumn с файлом словаря. (устарело)
tf.compat.v1.feature_column.categorical_column_with_vocabulary_file(
key,
vocabulary_file,
vocabulary_size=None,
num_oov_buckets=0,
default_value=None,
dtype=tf.dtypes.string
)
Используйте этот столбец, если входные данные представлены в строковом или целочисленном формате и у вас есть файл словаря, сопоставляющий каждое значение с целочисленным идентификатором. По умолчанию значения, отсутствующие в словаре, игнорируются. Используйте один из параметров (но не оба) — num_oov_buckets или default_value — чтобы указать, как учитывать значения, отсутствующие в словаре.
Для входного словаря features значение features[key] имеет тип Tensor или SparseTensor. Если задано Tensor, пропущенные значения можно представить как -1 для целых чисел и '' для строк; этот столбец признаков отбросит такие значения.
Пример с num_oov_buckets: файл '/us/states.txt' содержит 50 строк, в каждой из которых указано двухсимвольное сокращение штата США. Всем входным значениям, содержащимся в этом файле, присваивается идентификатор от 0 до 49, соответствующий номеру строки. Все остальные значения хешируются, и им присваивается идентификатор от 50 до 54.
import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
key='states', vocabulary_file='states.txt', vocabulary_size=5,
num_oov_buckets=1)
columns = [states]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
linear_prediction = tf.compat.v1.feature_column.linear_model(features,
columns)
Пример с default_value: файл '/us/states.txt' содержит 51 строку: в первой указано 'XX', а в остальных 50 — двухсимвольные сокращения штатов США. И буквальному значению 'XX' во входных данных, и другим значениям, отсутствующим в файле, будет присвоен идентификатор 0. Всем остальным значениям присваивается соответствующий номер строки от 1 до 50.
import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
key='states', vocabulary_file='states.txt', vocabulary_size=6,
default_value=0)
columns = [states]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
linear_prediction = tf.compat.v1.feature_column.linear_model(features,
columns)
Чтобы создать векторное представление для любого из этих вариантов:
import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
key='states', vocabulary_file='states.txt', vocabulary_size=5,
num_oov_buckets=1)
columns = [tf.feature_column.embedding_column(states, 3)]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
input_layer = tf.keras.layers.DenseFeatures(columns)
dense_tensor = input_layer(features)
| Аргументы | |
|---|---|
key | Уникальная строка, идентифицирующая входной признак. Она используется как имя столбца и ключ словаря для конфигураций разбора признаков, объектов Tensor и столбцов признаков. |
vocabulary_file | Имя файла словаря. |
vocabulary_size | Количество элементов в словаре. Оно не должно превышать длину vocabulary_file; если оно меньше длины, последующие значения игнорируются. Если значение равно None, оно устанавливается равным длине vocabulary_file. |
num_oov_buckets | Неотрицательное целое число — количество корзин для значений, отсутствующих в словаре. Всем таким входным значениям присваиваются идентификаторы в диапазоне [vocabulary_size, vocabulary_size+num_oov_buckets) на основе хеша входного значения. Положительное значение num_oov_buckets нельзя указывать вместе с default_value. |
default_value | Целочисленное значение идентификатора, возвращаемое для значений признака, отсутствующих в словаре; по умолчанию — -1. Его нельзя указывать вместе с положительным значением num_oov_buckets. |
dtype | Тип признаков. Поддерживаются только строковый и целочисленный типы. |
| Возвращаемое значение | |
|---|---|
CategoricalColumn с файлом словаря. |
| Исключения | |
|---|---|
ValueError | Файл vocabulary_file отсутствует или не может быть открыт. |
ValueError | vocabulary_size отсутствует или меньше 1. |
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/compat/v1/feature_column/categorical_column_with_vocabulary_file