tf.feature_column.categorical_column_with_identity
| Просмотреть исходный код на GitHub |
A 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 для целых чисел и '' для строк, которые будут пропущены этим столбцом признаков.
В следующих примерах каждое входное значение в диапазоне [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 будут пропущены. |
| Возвращает | |
|---|---|
A 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/versions/r2.9/api_docs/python/tf/feature_column/categorical_column_with_identity