tf.feature_column.categorical_column_with_hash_bucket
Представляет разреженный признак, идентификаторы которого задаются хешированием. (устарела)
tf.feature_column.categorical_column_with_hash_bucket(
key,
hash_bucket_size,
dtype=tf.dtypes.string
)
Используется в блокнотах
| Используется в руководстве | Используется в учебных материалах |
|---|---|
Используйте эту функцию, если разреженные признаки представлены в виде строк или целых чисел и вы хотите распределить входные данные по конечному числу корзин с помощью хеширования. output_id = Hash(input_feature_string) % bucket_size для входных данных строкового типа. Для входных данных типа int значение сначала преобразуется в строковое представление, а затем хешируется по той же формуле.
Для входного словаря features, features[key] является либо Tensor, либо SparseTensor. Если Tensor, отсутствующие значения можно представить с помощью -1 для int и '' для string; этот столбец признаков исключит их.
Пример:
import tensorflow as tf
keywords = tf.feature_column.categorical_column_with_hash_bucket("keywords",
10000)
columns = [keywords]
features = {'keywords': tf.constant([['Tensorflow', 'Keras', 'RNN', 'LSTM',
'CNN'], ['LSTM', 'CNN', 'Tensorflow', 'Keras', 'RNN'], ['CNN', 'Tensorflow',
'LSTM', 'Keras', 'RNN']])}
linear_prediction, _, _ = tf.compat.v1.feature_column.linear_model(features,
columns)
# or
import tensorflow as tf
keywords = tf.feature_column.categorical_column_with_hash_bucket("keywords",
10000)
keywords_embedded = tf.feature_column.embedding_column(keywords, 16)
columns = [keywords_embedded]
features = {'keywords': tf.constant([['Tensorflow', 'Keras', 'RNN', 'LSTM',
'CNN'], ['LSTM', 'CNN', 'Tensorflow', 'Keras', 'RNN'], ['CNN', 'Tensorflow',
'LSTM', 'Keras', 'RNN']])}
input_layer = tf.keras.layers.DenseFeatures(columns)
dense_tensor = input_layer(features)
| Аргументы | |
|---|---|
key | Уникальная строка, идентифицирующая входной признак. Она используется как имя столбца и ключ словаря для конфигураций разбора признаков, объектов Tensor и столбцов признаков. |
hash_bucket_size | Целое число больше 1. Количество корзин. |
dtype | Тип признаков. Поддерживаются только строковый тип и целочисленный тип. |
| Возвращает | |
|---|---|
Объект HashedCategoricalColumn. |
| Вызывает исключения | |
|---|---|
ValueError | hash_bucket_size не больше 1. |
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_hash_bucket