Spec-Zone.ru › TensorFlow

tf.compat.v1.feature_column.categorical_column_with_vocabulary_file

Столбец категориальных признаков с файлом словаря. (устаревший)

Предупреждение: tf.feature_column не рекомендуется для нового кода. Вместо этого предварительная обработка признаков может быть выполнена непосредственно с помощью слоёв предварительной обработки Keras или с помощью универсального утилита слоёв предварительной обработки Keras или с помощью универсального инструмента tf.keras.utils.FeatureSpace, построенного на их основе. Подробнее см. руководство по миграции.
tf.compat.v1.feature_column.categorical_column_with_vocabulary_file(
    key,
    vocabulary_file,
    vocabulary_size=None,
    num_oov_buckets=0,
    default_value=None,
    dtype=tf.dtypes.string
)
Устаревший: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: используйте слои предварительной обработки Keras, либо напрямую, либо через утилиту tf.keras.utils.FeatureSpace. Каждый из tf.feature_column.* имеет функциональный эквивалент в tf.keras.layers для предварительной обработки признаков при обучении модели Keras.

Используйте этот метод, когда ваши входные данные имеют строковый или целочисленный формат, и у вас есть файл словаря, который сопоставляет каждое значение целочисленному идентификатору. По умолчанию значения, отсутствующие в словаре, игнорируются. Используйте любой (но не оба) из num_oov_buckets и default_value, чтобы указать, как включать значения, отсутствующие в словаре.

Для входного словаря features, features[key] либо Tensor, либо SparseTensor. Если Tensor, пропущенные значения могут быть представлены как -1 для целых чисел и как '' для строк, которые будут отброшены этим столбцом признаков.

Пример со num_oov_buckets: Файл '/us/states.txt' содержит 50 строк, каждая из которых содержит 2-символьное сокращение штата США. Все входные данные со значениями в этом файле получают ID 0-49, соответствующий номеру строки. Все остальные значения хешируются и получают ID 50-54.

import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
  key='states', vocabulary_file='states.txt', vocabulary_size=5,
  num_oov_buckets=1)
columns = [states]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
linear_prediction = tf.compat.v1.feature_column.linear_model(features,
columns)

Пример со default_value: Файл '/us/states.txt' содержит 51 строку - первая строка 'XX', а остальные 50 содержат 2-символьное сокращение штата США. Как буквальный 'XX' ввода, так и другие значения, отсутствующие в файле, будут назначены ID 0. Все остальные получают соответствующий номер строки 1-50.

import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
  key='states', vocabulary_file='states.txt', vocabulary_size=6,
  default_value=0)
columns = [states]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
linear_prediction = tf.compat.v1.feature_column.linear_model(features,
columns)

И для создания встраивания с одним из:

import tensorflow as tf
states = tf.feature_column.categorical_column_with_vocabulary_file(
  key='states', vocabulary_file='states.txt', vocabulary_size=5,
  num_oov_buckets=1)
columns = [tf.feature_column.embedding_column(states, 3)]
features = {'states':tf.constant([['california', 'georgia', 'michigan',
'texas', 'new york'], ['new york', 'georgia', 'california', 'michigan',
'texas']])}
input_layer = tf.keras.layers.DenseFeatures(columns)
dense_tensor = input_layer(features)
Аргументы
key Уникальная строка, идентифицирующая входной признак. Она используется в качестве имени столбца и ключа словаря для конфигураций анализа признаков, объектов столбцов признаков и столбцов признаков.
vocabulary_file Имя файла словаря.
vocabulary_size Количество элементов в словаре. Это значение должно быть не больше, чем длина vocabulary_file; если оно меньше, то последующие значения игнорируются. Если None, оно устанавливается в длину vocabulary_file.
num_oov_buckets Неотрицательное целое число, количество ведер для значений, отсутствующих в словаре. Все входные данные, отсутствующие в словаре, будут назначены ID в диапазоне [vocabulary_size, vocabulary_size+num_oov_buckets) на основе хеша входного значения. Положительное num_oov_buckets не может быть указано с default_value.
default_value Целочисленное значение ID, возвращаемое для значений признаков, отсутствующих в словаре, по умолчанию -1. Это значение не может быть указано с положительным num_oov_buckets.
dtype Тип признаков. Поддерживаются только строковые и целочисленные типы.
Возвращаемые значения
Столбец категориальных признаков с файлом словаря.
Исключения
ValueError Файл vocabulary_file отсутствует или не может быть открыт.
ValueError Файл vocabulary_size отсутствует или имеет значение < 1.
ValueError num_oov_buckets - отрицательное целое число.
ValueError num_oov_buckets и default_value указаны одновременно.
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/compat/v1/feature_column/categorical_column_with_vocabulary_file

Spec-Zone.ru

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