Spec-Zone.ru › TensorFlow 1.15

tf.contrib.learn.LinearClassifier

Модель линейного классификатора.

Наследуется от: Estimator

tf.contrib.learn.LinearClassifier(
    feature_columns, model_dir=None, n_classes=2, weight_column_name=None,
    optimizer=None, gradient_clip_norm=None, enable_centered_bias=False,
    _joint_weight=False, config=None, feature_engineering_fn=None, label_keys=None
)

ЭТОТ КЛАСС УСТЕРЕЛ. См. contrib/learn/README.md для общих инструкций по миграции.

Обучает линейную модель для классификации экземпляров в один из нескольких возможных классов. При количестве возможных классов 2, это бинарная классификация.

Пример:

sparse_column_a = sparse_column_with_hash_bucket(...)
sparse_column_b = sparse_column_with_hash_bucket(...)

sparse_feature_a_x_sparse_feature_b = crossed_column(...)

# Estimator using the default optimizer.
estimator = LinearClassifier(
    feature_columns=[sparse_column_a, sparse_feature_a_x_sparse_feature_b])

# Or estimator using the FTRL optimizer with regularization.
estimator = LinearClassifier(
    feature_columns=[sparse_column_a, sparse_feature_a_x_sparse_feature_b],
    optimizer=tf.compat.v1.train.FtrlOptimizer(
      learning_rate=0.1,
      l1_regularization_strength=0.001
    ))

# Or estimator using the SDCAOptimizer.
estimator = LinearClassifier(
   feature_columns=[sparse_column_a, sparse_feature_a_x_sparse_feature_b],
   optimizer=tf.contrib.linear_optimizer.SDCAOptimizer(
     example_id_column='example_id',
     num_loss_partitions=...,
     symmetric_l2_regularization=2.0
   ))

# Input builders
def input_fn_train: # returns x, y (where y represents label's class index).
  ...
def input_fn_eval: # returns x, y (where y represents label's class index).
  ...
def input_fn_predict: # returns x, None.
  ...
estimator.fit(input_fn=input_fn_train)
estimator.evaluate(input_fn=input_fn_eval)
# predict_classes returns class indices.
estimator.predict_classes(input_fn=input_fn_predict)

Если пользователь указывает label_keys в конструкторе, метки должны быть строками из label_keys словаря. Пример:

label_keys = ['label0', 'label1', 'label2']
estimator = LinearClassifier(
    n_classes=n_classes,
    feature_columns=[sparse_column_a, sparse_feature_a_x_sparse_feature_b],
    label_keys=label_keys)

def input_fn_train: # returns x, y (where y is one of label_keys).
  pass
estimator.fit(input_fn=input_fn_train)

def input_fn_eval: # returns x, y (where y is one of label_keys).
  pass
estimator.evaluate(input_fn=input_fn_eval)
def input_fn_predict: # returns x, None
# predict_classes returns one of label_keys.
estimator.predict_classes(input_fn=input_fn_predict)

Входные данные fit и evaluate должны иметь следующие признаки, в противном случае возникнет KeyError:

  • если weight_column_name не None, признак с key=weight_column_name, значение которого является Tensor.
  • для каждого column в feature_columns:
    • если column является SparseColumn, признак с key=column.name, значение которого является SparseTensor.
    • если column является WeightedSparseColumn, два признака: первый с key именем столбца «id», второй с key именем столбца «вес». Значение обоих признаков должно быть SparseTensor.
    • если column является RealValuedColumn, признак с key=column.name, значение которого является Tensor.
Аргументы
feature_columns Итерируемый объект, содержащий все столбцы признаков, используемые моделью. Все элементы должны быть экземплярами классов, производных от FeatureColumn .
model_dir Каталог для сохранения параметров модели, графика и т. д. Это также можно использовать для загрузки контрольных точек из каталога в оценщик для продолжения обучения ранее сохраненной модели.
n_classes Количество классов меток. По умолчанию — бинарная классификация. Обратите внимание, что метки классов — это целые числа, представляющие индекс класса (т. е. значения от 0 до n_classes-1). Для произвольных значений меток (например, строковых меток) сначала преобразуйте их в индексы классов.
weight_column_name Строка, определяющая имя столбца признаков, представляющих веса. Используется для уменьшения или повышения веса примеров во время обучения. Он будет умножаться на потерю примера.
optimizer Оптимизатор, используемый для обучения модели. Если указан, он должен быть экземпляром tf.Optimizer или SDCAOptimizer. Если не указан, будет использован оптимизатор Ftrl.
gradient_clip_norm Вещественное число > 0. Если указано, градиенты обрезаются до их глобальной нормы с этим коэффициентом обрезки. См. tf.clip_by_global_norm для получения дополнительных сведений.
enable_centered_bias Булево значение. Если True, оценщик обучит смещенную переменную для каждого класса. Остальная часть структуры модели обучит остаток после смещенной переменной.
_joint_weight Если True, веса всех столбцов будут храниться в одной (возможно, разнесенной) переменной. Это более эффективно, но несовместимо с SDCAOptimizer и требует, чтобы все столбцы признаков были разреженными и использовали объединитель 'sum'.
config Объект RunConfig для конфигурации параметров выполнения.
feature_engineering_fn Функция обработки признаков. Принимает признаки и метки, которые являются результатом input_fn и возвращает признаки и метки, которые будут поданы в модель.
label_keys Необязательный список строк размером [n_classes] , определяющий словарь меток. Поддерживается только для n_classes > 2.
Возбуждает
ValueError если n_classes < 2.
ValueError если enable_centered_bias=True и optimizer — SDCAOptimizer.
Атрибуты
config
model_dir Возвращает путь, по которому процесс оценки будет искать контрольные точки.
model_fn Возвращает model_fn, привязанный к self.params.

Методы

evaluate

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

evaluate(
    x=None, y=None, input_fn=None, feed_fn=None, batch_size=None, steps=None,
    metrics=None, name=None, checkpoint_path=None, hooks=None, log_progress=True
)

См. Evaluable. (устаревшие аргументы)

Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТЕРЕЛИ: (batch_size, x, y). Они будут удалены после 2016-12-01. Инструкции по обновлению: Интерфейс оценщика отвязан от Scikit Learn путем перемещения в отдельный класс SKCompat. Аргументы x, y и batch_size доступны только в классе SKCompat, оценщик будет принимать только input_fn. Пример преобразования: est = Estimator(...) -> est = SKCompat(Estimator(...))
Возбуждает
ValueError Если по крайней мере один из x или y указан, и по крайней мере один из input_fn или feed_fn указан. Или если metrics не None или dict .

export

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

export(
    export_dir, input_fn=None, input_feature_key=None, use_deprecated_input_fn=True,
    signature_fn=None, default_batch_size=1, exports_to_keep=None
)

См. BaseEstimator.export. (устарело)

Предупреждение: ЭТА ФУНКЦИЯ УСТЕРЕЛА. Она будет удалена после 2017-03-25. Инструкции по обновлению: Пожалуйста, используйте Estimator.export_savedmodel() вместо этого.

export_savedmodel

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

export_savedmodel(
    export_dir_base, serving_input_fn, default_output_alternative_key=None,
    assets_extra=None, as_text=False, checkpoint_path=None,
    graph_rewrite_specs=(GraphRewriteSpec((tag_constants.SERVING,), ()),),
    strip_default_attrs=False
)

Экспортирует график вывода как SavedModel в указанный каталог.

Аргументы
export_dir_base Строка, содержащая каталог для записи экспортированного графика и контрольных точек.
serving_input_fn Функция, которая не принимает аргументов и возвращает InputFnOps .
default_output_alternative_key Имя заголовка для обслуживания, если не указан. Не требуется для моделей с одним заголовком.
assets_extra Словарь, определяющий, как заполнить каталог assets.extra в экспортированном SavedModel. Каждый ключ должен указывать путь назначения (включая имя файла) относительно каталога assets.extra. Соответствующее значение — полный путь к исходному файлу, который необходимо скопировать. Например, простой случай копирования одного файла без переименования задается как {'my_asset_file.txt': '/path/to/my_asset_file.txt'} .
as_text Флаг, указывающий, нужно ли записывать протокол SavedModel в текстовом формате.
checkpoint_path Путь к контрольной точке для экспорта. Если None (по умолчанию), выбирается самая последняя контрольная точка, найденная в каталоге модели.
graph_rewrite_specs Итерируемый набор GraphRewriteSpec . Каждый элемент создаст отдельный MetaGraphDef в экспортированном SavedModel, помеченный и переписанный как указано. По умолчанию используется один элемент с тегом обслуживания по умолчанию ("serve") и без переписывания.
strip_default_attrs Булево значение. Если True, атрибуты с значениями по умолчанию будут удалены из NodeDefs. Для подробного руководства см. Удаление атрибутов с значениями по умолчанию.
Возвращает
Строковый путь к экспортированному каталогу.
Возбуждает
ValueError если запрашивается неизвестный тип экспорта.

fit

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

fit(
    x=None, y=None, input_fn=None, steps=None, batch_size=None, monitors=None,
    max_steps=None
)

См. Trainable. (устаревшие аргументы)

Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТЕРЕЛИ: (batch_size, x, y). Они будут удалены после 2016-12-01. Инструкции по обновлению: Интерфейс оценщика отвязан от Scikit Learn путем перемещения в отдельный класс SKCompat. Аргументы x, y и batch_size доступны только в классе SKCompat, оценщик будет принимать только input_fn. Пример преобразования: est = Estimator(...) -> est = SKCompat(Estimator(...))
Возбуждает
ValueError Если x или y не None , в то время как input_fn не None .
ValueError Если и steps , и max_steps не None .

get_params

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

get_params(
    deep=True
)

Получить параметры этого оценщика.

Аргументы
deep Булево значение, необязательно

Если True, вернет параметры этого оценщика и вложенных подобъектов, являющихся оценщиками.

END_OF_DOCUMENT_MARKER
Возвращает
params отображение строки на любой параметр, имена параметров, сопоставленные со своими значениями.

get_variable_names

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

get_variable_names()

Возвращает список всех имен переменных в этой модели.

Возвращает
Список имён.

get_variable_value

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

get_variable_value(
    name
)

Возвращает значение переменной, заданной по имени.

Аргументы
name строка, имя тензора.
Возвращает
Массив NumPy — значение тензора.

partial_fit

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

partial_fit(
    x=None, y=None, input_fn=None, steps=1, batch_size=None, monitors=None
)

Инкрементное обучение на партии выборок. (аргументы устарели)

Предупреждение: НЕКОТОРЫЕ АРГУМЕНТЫ УСТАРЕЛИ: (batch_size, x, y). Они будут удалены после 2016-12-01. Инструкции по обновлению: Модуль Estimator отвязан от интерфейса Scikit-Learn, переместившись в отдельный класс SKCompat. Аргументы x, y и batch_size доступны только в классе SKCompat, Estimator будет принимать только input_fn. Пример преобразования: est = Estimator(...) -> est = SKCompat(Estimator(...))

Ожидается, что этот метод будет вызываться несколько раз последовательно на разных или тех же фрагментах набора данных. Это может реализовать итеративное обучение или обучение вне памяти/онлайн-обучение.

Это особенно полезно, когда весь набор данных слишком велик, чтобы поместиться в оперативной памяти за один раз. Или когда модель долго сходится, и вы хотите разбить обучение на части.

Аргументы
x Матрица формы [n_samples, n_features...]. Может быть итератором, который возвращает массивы признаков. Примеры обучающих выборок для обучения модели. Если установлено, input_fn должно быть None.
y Вектор или матрица [n_samples] или [n_samples, n_outputs]. Может быть итератором, который возвращает массив меток. Значения меток обучения (метки класса в классификации, вещественные числа в регрессии). Если установлено, input_fn должно быть None.
input_fn Функция ввода. Если установлено, x, y, и batch_size должны быть None.
steps Количество шагов обучения модели. Если None, тренироваться бесконечно.
batch_size Размер минипакета для использования с вводом, по умолчанию — первое измерение x. Должен быть None, если предоставлен input_fn.
monitors Список экземпляров подклассов BaseMonitor. Используется для обратных вызовов внутри цикла обучения.
Возвращает
self, для цепочки вызовов.
Исключения
ValueError Если хотя бы один из x и y предоставлен, а также input_fn предоставлен.

predict

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

predict(
    x=None, input_fn=None, batch_size=None, outputs=None, as_iterable=True
)

Возвращает прогнозы для заданных признаков. (устаревшие значения аргументов) (устаревшие значения аргументов)

Предупреждение: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТАРЕЛИ: (as_iterable=False). Они будут удалены после 2016-09-15. Инструкции по обновлению: Поведение по умолчанию predict() изменяется. Значение по умолчанию для as_iterable изменится на True, а затем флаг будет полностью удален. Поведение этого флага описано ниже.
Предупреждение: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТАРЕЛИ: (outputs=None). Они будут удалены после 2017-03-01. Инструкции по обновлению: Переключитесь на predict_classes или установите аргумент outputs.

По умолчанию возвращает предсказанные классы. Но это значение по умолчанию скоро будет удалено. Пользователи должны либо передать outputs, либо вызвать метод predict_classes.

Аргументы
x признаки.
input_fn Функция ввода. Если установлено, x должен быть None.
batch_size Переопределить размер пакета по умолчанию.
outputs список str, имя выходного значения для прогнозирования. Если None, возвращаются классы.
as_iterable Если True, возвращает итерируемый объект, который продолжает выдавать прогнозы для каждого примера до тех пор, пока ввод не иссякнет. Примечание: Ввод должен завершиться, если вы хотите, чтобы итерируемый объект завершился (например, обязательно передайте num_epochs=1, если вы используете что-то вроде read_batch_features).
Возвращает
Массив NumPy предсказанных классов с формой размер_пакета. Каждый предсказанный класс представлен своим индексом класса (т.е. целым числом от 0 до n_classes-1). Если outputs установлено, возвращает словарь прогнозов.

predict_classes

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

predict_classes(
    x=None, input_fn=None, batch_size=None, as_iterable=True
)

Возвращает предсказанные классы для заданных признаков. (устаревшие значения аргументов)

Предупреждение: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТАРЕЛИ: (as_iterable=False). Они будут удалены после 2016-09-15. Инструкции по обновлению: Поведение по умолчанию predict() изменяется. Значение по умолчанию для as_iterable изменится на True, а затем флаг будет полностью удален. Поведение этого флага описано ниже.
Аргументы
x признаки.
input_fn Функция ввода. Если установлено, x должен быть None.
batch_size Переопределить размер пакета по умолчанию.
as_iterable Если True, возвращает итерируемый объект, который продолжает выдавать прогнозы для каждого примера до тех пор, пока ввод не иссякнет. Примечание: Ввод должен завершиться, если вы хотите, чтобы итерируемый объект завершился (например, обязательно передайте num_epochs=1, если вы используете что-то вроде read_batch_features).
Возвращает
Массив NumPy предсказанных классов с формой размер_пакета. Каждый предсказанный класс представлен своим индексом класса (т.е. целым числом от 0 до n_classes-1).

predict_proba

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

predict_proba(
    x=None, input_fn=None, batch_size=None, as_iterable=True
)

Возвращает предсказанные вероятности для заданных признаков. (устаревшие значения аргументов)

Предупреждение: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТАРЕЛИ: (as_iterable=False). Они будут удалены после 2016-09-15. Инструкции по обновлению: Поведение по умолчанию predict() изменяется. Значение по умолчанию для as_iterable изменится на True, а затем флаг будет полностью удален. Поведение этого флага описано ниже.
Аргументы
x признаки.
input_fn Функция ввода. Если установлено, x и y должны быть None.
batch_size Переопределить размер пакета по умолчанию.
as_iterable Если True, возвращает итерируемый объект, который продолжает выдавать прогнозы для каждого примера до тех пор, пока ввод не иссякнет. Примечание: Ввод должен завершиться, если вы хотите, чтобы итерируемый объект завершился (например, обязательно передайте num_epochs=1, если вы используете что-то вроде read_batch_features).
Возвращает
Массив NumPy предсказанных вероятностей с формой размер_пакета, n_классов.

set_params

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

set_params(
    **params
)

Установить параметры этого оценщика.

Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как конвейеры). Первые имеют параметры вида <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Аргументы
**params Параметры.
Возвращает
self
Возбуждает
ValueError Если параметры содержат недопустимые имена.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/learn/LinearClassifier

Spec-Zone.ru

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