Spec-Zone.ru › TensorFlow

tf.keras.layers.Discretization

Слой предобработки, который группирует непрерывные признаки по диапазонам.

Наследуется от: Layer, Operation

tf.keras.layers.Discretization(
    bin_boundaries=None,
    num_bins=None,
    epsilon=0.01,
    output_mode='int',
    sparse=False,
    dtype=None,
    name=None
)

Используется в ноутбуках

Используется в руководстве Используется в учебниках
  • Миграция `tf.feature_column` в слои предобработки Keras
  • Использование сторонних признаков: предобработка признаков
  • Использование контекстных признаков
  • Создание глубоких моделей ретроспективного поиска

Этот слой поместит каждый элемент входных данных в один из нескольких смежных диапазонов и выведет целочисленный индекс, указывающий, в какой диапазон был помещен каждый элемент.

Примечание: Этот слой безопасно использовать внутри конвейера tf.data (независимо от используемого бэкэнда).
Форма входных данных
Любой массив размерности 2 или выше.
Форма выходных данных
Такая же, как форма входных данных.
Аргументы
bin_boundaries Список границ бинов. Левый и правый бины всегда будут простираться до -inf и inf, поэтому bin_boundaries=[0., 1., 2.] создает бины (-inf, 0.), [0., 1.), [1., 2.) и [2., +inf). Если этот параметр установлен, adapt() не должен вызываться.
num_bins Целое число бинов для вычисления. Если этот параметр установлен, adapt() должен быть вызван для обучения границ бинов.
epsilon Допуск ошибки, обычно небольшая дробь, близкая к нулю (например, 0,01). Более высокие значения epsilon увеличивают приближение квантилей, а следовательно, приводят к более неравномерным бинам, но могут улучшить производительность и потребление ресурсов.
output_mode Спецификация для выхода слоя. Значения могут быть "int", "one_hot", "multi_hot" или "count", настраивая слой следующим образом:
  • "int": Непосредственно возвращает индексы разряженных бинов.
  • "one_hot": Кодирует каждый отдельный элемент ввода в массив того же размера, что и num_bins, содержащий 1 в индексе бина ввода. Если последняя размерность равна 1, кодирует по этой размерности. Если последняя размерность не равна 1, добавляет новую размерность для закодированного выхода.
  • "multi_hot": Кодирует каждый образец ввода в один массив того же размера, что и num_bins, содержащий 1 для каждого индекса бина, присутствующего в образце. Обрабатывает последнюю размерность как размерность образца, если форма входных данных — (..., sample_length), форма выхода будет (..., num_tokens).
  • "count": Как "multi_hot", но целочисленный массив содержит количество раз, когда индекс бина появлялся в образце. По умолчанию "int".
sparse Булево значение. Применимо только к режимам вывода "one_hot", "multi_hot" и "count". Поддерживается только с бэкэндом TensorFlow. Если True, возвращает SparseTensor вместо плотного Tensor. По умолчанию False.

Примеры:

Дискретизация значений с плавающей запятой на основе предоставленных бинов.

>>> input = np.array([[-1.5, 1.0, 3.4, .5], [0.0, 3.0, 1.3, 0.0]])
>>> layer = Discretization(bin_boundaries=[0., 1., 2.])
>>> layer(input)
array([[0, 2, 3, 1],
       [1, 3, 2, 1]])

Дискретизация значений с плавающей запятой на основе количества вычисляемых бинов.

>>> input = np.array([[-1.5, 1.0, 3.4, .5], [0.0, 3.0, 1.3, 0.0]])
>>> layer = Discretization(num_bins=4, epsilon=0.01)
>>> layer.adapt(input)
>>> layer(input)
array([[0, 2, 3, 2],
       [1, 3, 3, 1]])
Атрибуты
input Возвращает тензор(ы) входных данных символической операции.

Возвращает только тензор(ы), соответствующие первому вызову операции.

output Возвращает тензор(ы) выхода слоя.

Возвращает только тензор(ы), соответствующие первому вызову операции.

Методы

adapt

Просмотреть исходный код

adapt(
    data, steps=None
)

Вычисляет границы бинов из квантилей в наборе входных данных.

Вызов adapt() на слое Discretization — это альтернатива передаче аргумента bin_boundaries во время создания. Слой Discretization всегда должен быть адаптирован к набору данных или передан bin_boundaries.

Во время adapt() слой оценит квантильные границы входного набора данных. Количество квантилей может быть контролировано с помощью аргумента num_bins, а точность квантильных границ — с помощью аргумента epsilon.

Аргументы
data Данные для обучения. Может передаваться как пакетный tf.data.Dataset или как массив NumPy.
steps Целое число или None. Общее количество шагов (пакетов образцов) для обработки. Если data — tf.data.Dataset и steps — None, adapt() будет выполняться до истощения входного набора данных. При передаче бесконечно повторяющегося набора данных вы должны указать аргумент steps. Этот аргумент не поддерживается при вводе массивов или списков.

finalize_state

Просмотреть исходный код

finalize_state()

from_config

Просмотреть исходный код

@classmethod
from_config(
    config
)

Создает слой из его конфигурации.

Этот метод — обратный get_config, позволяющий создать тот же слой из словаря конфигурации. Он не обрабатывает соединение слоев (обрабатывается Network), ни веса (обрабатываются set_weights).

Аргументы
config Словарь Python, обычно выход get_config.
Возвращает
Экземпляр слоя.

reset_state

Просмотреть исходный код

reset_state()

symbolic_call

Просмотреть исходный код

symbolic_call(
    *args, **kwargs
)

update_state

Просмотреть исходный код

update_state(
    data
)

© 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/keras/layers/Discretization

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API