tf.feature_column.categorical_column_with_identity
Объект CategoricalColumn, возвращающий значения идентификаторов. (устарел)
tf.feature_column.categorical_column_with_identity(
key, num_buckets, default_value=None
)
Используется в блокнотах
| Используется в руководстве | Используется в учебных материалах |
|---|---|
Используйте этот метод, если входные данные — целые числа в диапазоне [0, num_buckets) и вы хотите использовать само входное значение в качестве категориального идентификатора. Значения за пределами этого диапазона будут заменены на default_value, если он указан; в противном случае возникнет ошибка.
Как правило, этот метод используется для непрерывных диапазонов целочисленных индексов, но это необязательно. Однако он может быть неэффективен, если многие идентификаторы не используются. В таком случае рассмотрите возможность использования categorical_column_with_hash_bucket.
Для входного словаря features значение features[key] должно быть либо Tensor, либо SparseTensor. Если Tensor, отсутствующие значения можно представить с помощью -1 для int и '' для string; этот столбец признаков будет отбрасывать такие значения.
В следующих примерах каждому входному значению в диапазоне [0, 1000000) назначается одно и то же значение. Всем остальным входным значениям назначается default_value 0. Обратите внимание: литеральный 0 во входных данных приведёт к тому же идентификатору по умолчанию.
Линейная модель:
import tensorflow as tf
video_id = tf.feature_column.categorical_column_with_identity(
key='video_id', num_buckets=1000000, default_value=0)
columns = [video_id]
features = {'video_id': tf.sparse.from_dense([[2, 85, 0, 0, 0],
[33,78, 2, 73, 1]])}
linear_prediction = tf.compat.v1.feature_column.linear_model(features,
columns)
Встраивание для модели DNN:
import tensorflow as tf
video_id = tf.feature_column.categorical_column_with_identity(
key='video_id', num_buckets=1000000, default_value=0)
columns = [tf.feature_column.embedding_column(video_id, 9)]
features = {'video_id': tf.sparse.from_dense([[2, 85, 0, 0, 0],
[33,78, 2, 73, 1]])}
input_layer = tf.keras.layers.DenseFeatures(columns)
dense_tensor = input_layer(features)
| Аргументы | |
|---|---|
key | Уникальная строка, идентифицирующая входной признак. Используется как имя столбца и ключ словаря для конфигураций анализа признаков, объектов Tensor и столбцов признаков. |
num_buckets | Диапазон входных и выходных значений: [0, num_buckets). |
default_value | Если задано, значения за пределами диапазона [0, num_buckets) будут заменены этим значением. Если параметр не задан, значения >= num_buckets приведут к ошибке, а значения < 0 будут отброшены. |
| Возвращает | |
|---|---|
Объект CategoricalColumn, возвращающий значения идентификаторов. |
| Вызывает исключения | |
|---|---|
ValueError | если значение num_buckets меньше единицы. |
ValueError | если значение default_value не входит в диапазон [0, num_buckets). |
© 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_identity