РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
621 of 824 menu

Класс Hashing

Класс Hashing выполняет хеширование входных данных, преобразуя строки или числа в целочисленные индексы в заданном диапазоне. Первым параметром передается количество сегментов num_bins, которое определяет размер выходного пространства. Вторым параметром можно передать mask_value для маскирования отсутствующих значений, а также salt для изменения хеш-функции. Класс удобен при работе с категориальными признаками, словарями и текстовыми данными.

Синтаксис

tf.keras.layers.Hashing(num_bins, [mask_value], [salt])

Пример

Давайте создадим слой хеширования на 3 сегмента и применим его к строкам:

import tensorflow as tf layer = tf.keras.layers.Hashing(num_bins=3) res = layer([['abcde'], ['model.keras']]) print(res)

Результат выполнения кода:

tf.Tensor( [[1] [0]], shape=(2, 1), dtype=int64)

Пример

Давайте применим слой к списку строк и выведем форму результата:

import tensorflow as tf layer = tf.keras.layers.Hashing(num_bins=5) res = layer(['abcde', 'model.keras', 'abcde']) print(res) print(res.shape)

Результат выполнения кода:

tf.Tensor([2 4 2], shape=(3,), dtype=int64) (3,)

Пример

Давайте используем параметр salt, чтобы изменить распределение хешей:

import tensorflow as tf layer = tf.keras.layers.Hashing(num_bins=3, salt=42) res = layer([['abcde'], ['model.keras']]) print(res)

Результат выполнения кода:

tf.Tensor( [[0] [2]], shape=(2, 1), dtype=int64)

Смотрите также

  • функцию to_hash_bucket,
    которая хеширует строки в сегменты
  • функцию to_hash_bucket_fast,
    которая быстро хеширует строки без соли
  • класс CategoryEncoding,
    который кодирует категориальные признаки
  • класс IntegerLookup,
    который сопоставляет целые числа индексам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить