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 для строкового входного значения. Для целочисленного входного значения значение сначала преобразуется в строковое представление, а затем хэшируется по той же формуле.
Для входного словаря features, features[key] — это либо Tensor, либо SparseTensor. Если Tensor, пропущенные значения могут быть представлены как -1 для целых чисел и '' для строк, которые будут отброшены этим столбцом признаков.
Пример:
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