tf.contrib.learn.SVM
Модель поддержки векторов (SVM) для бинарной классификации.
Наследуется от: Estimator
tf.contrib.learn.SVM(
example_id_column, feature_columns, weight_column_name=None, model_dir=None,
l1_regularization=0.0, l2_regularization=0.0, num_loss_partitions=1,
kernels=None, config=None, feature_engineering_fn=None
)
ЭТОТ КЛАСС УСТАРЕЛ. См. contrib/learn/README.md для общих инструкций по миграции.
В настоящее время поддерживаются только линейные SVM. Для основной задачи оптимизации используется SDCAOptimizer. Для настройки производительности и сходимости параметр num_loss_partitions, передаваемый в SDCAOptimizer, (см. метод __init__()), должен быть установлен в значение (#конкурентных операций обучения на рабочем узле) x (#рабочих узлов). Если num_loss_partitions больше или равен этому значению, сходимость гарантирована, но становится медленнее по мере увеличения num_loss_partitions. Если значение меньше, оптимизатор более агрессивно уменьшает глобальную потерю, но сходимость не гарантируется. Рекомендуемое значение в Estimator (где на каждом рабочем узле работает один процесс) — число рабочих узлов, выполняющих шаги обучения. По умолчанию оно равно 1 (один компьютер).
Пример:
real_feature_column = real_valued_column(...)
sparse_feature_column = sparse_column_with_hash_bucket(...)
estimator = SVM(
example_id_column='example_id',
feature_columns=[real_feature_column, sparse_feature_column],
l2_regularization=10.0)
# Input builders
def input_fn_train: # returns x, y
...
def input_fn_eval: # returns x, y
...
estimator.fit(input_fn=input_fn_train)
estimator.evaluate(input_fn=input_fn_eval)
estimator.predict(x=x)
Входные данные fit и evaluate должны содержать следующие признаки, в противном случае произойдёт KeyError: признак с key=example_id_column, значение которого — Tensor типа string. Если weight_column_name не None, то признак с key=weight_column_name, значение которого — Tensor. Для каждого column в feature_columns:
- if `column` is a `SparseColumn`, a feature with `key=column.name` whose `value` is a `SparseTensor`. - if `column` is a `RealValuedColumn, a feature with `key=column.name` whose `value` is a `Tensor`.
| Аргументы | |
|---|---|
example_id_column | Строка, определяющая имя столбца признака, представляющего идентификаторы примеров. Используется для инициализации базового оптимизатора. |
feature_columns | Итерируемый набор, содержащий все столбцы признаков, используемые моделью. Все элементы набора должны быть экземплярами классов, производных от FeatureColumn. |
weight_column_name | Строка, определяющая имя столбца признака, представляющего веса. Используется для уменьшения или увеличения веса примеров во время обучения. Он будет умножаться на потерю примера. |
model_dir | Каталог для сохранения параметров модели, графа и т. д. Также может использоваться для загрузки контрольных точек из каталога в оценщик для продолжения обучения ранее сохранённой модели. |
l1_regularization | Параметр регуляризации L1. Относится к глобальной регуляризации L1 (по всем примерам). |
l2_regularization | Параметр регуляризации L2. Относится к глобальной регуляризации L2 (по всем примерам). |
num_loss_partitions | Количество разделов функции (глобальной) потерь, оптимизируемой базовым оптимизатором (SDCAOptimizer). |
kernels | Список ядер для SVM. В настоящее время ядра не поддерживаются. Зарезервировано для будущего использования для нелинейных SVM. |
config | Объект RunConfig для настройки параметров выполнения. |
feature_engineering_fn | Функция обработки признаков. Принимает признаки и метки, которые являются результатом input_fn, и возвращает признаки и метки, которые будут переданы в модель. |
| Возможные исключения | |
|---|---|
ValueError | если переданные ядра не равны None. |
| Атрибуты | |
|---|---|
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. (устаревшие аргументы)
| Возможные исключения | |
|---|---|
ValueError | Если хотя бы один из x или y предоставлен, и по крайней мере один из input_fn или feed_fn предоставлен. Или если metrics не None или dict. |
export
export(
export_dir, signature_fn=None, input_fn=None, default_batch_size=1,
exports_to_keep=None
)
См. BaseEstimator.export. (устаревший)
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 | если запрошен неизвестный тип экспорта. |
export_with_defaults
export_with_defaults(
export_dir, signature_fn=None, input_fn=None, default_batch_size=1,
exports_to_keep=None
)
То же, что и BaseEstimator.export, но использует некоторые значения по умолчанию. (устаревший)
fit
fit(
x=None, y=None, input_fn=None, steps=None, batch_size=None, monitors=None,
max_steps=None
)
См. Trainable. (устаревшие аргументы)
| Возможные исключения | |
|---|---|
ValueError | Если x или y не None, в то время как input_fn не None. |
ValueError | Если оба steps и max_steps не None. |
get_params
get_params(
deep=True
)
Получить параметры этого оценщика.
| Аргументы | |
|---|---|
deep | boolean, optional Если |
| Возвращает | |
|---|---|
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
)
Инкрементальное обучение на партии образцов. (устаревшие аргументы)
Ожидается, что этот метод будет вызываться несколько раз последовательно на разных или тех же фрагментах набора данных. Это может реализовать итеративное обучение или обучение вне памяти/онлайн.
Это особенно полезно, когда весь набор данных слишком велик, чтобы поместиться в памяти одновременно. Или когда модели требуется много времени для сходимости, и вы хотите разбить обучение на подчасти.
| Аргументы | |
|---|---|
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,
iterate_batches=False
)
Возвращает предсказания для заданных признаков. (устаревшие аргументы)
| Аргументы | |
|---|---|
x | Матрица формы [n_samples, n_features...]. Может быть итератором, возвращающим массивы признаков. Входные данные для обучения модели. Если задано, то input_fn должно быть None. |
input_fn | Функция ввода. Если задана, то x и 'batch_size' должны быть None. |
batch_size | Переопределение размера пакета по умолчанию. Если задано, то 'input_fn' должно быть 'None'. |
outputs | Список str, имя выходного значения для предсказания. Если None, возвращает все. |
as_iterable | Если True, возвращает итератор, который продолжает выдавать предсказания для каждого примера, пока входные данные не закончатся. Примечание: Входные данные должны завершиться, если вы хотите, чтобы итератор завершился (например, убедитесь, что вы передали num_epochs=1, если используете что-то вроде read_batch_features). |
iterate_batches | Если True, возвращает весь пакет сразу вместо разбиения пакета на отдельные примеры. Релевантно только при as_iterable = True. |
| Возвращаемые значения | |
|---|---|
Массив NumPy предсказанных классов или регрессионных значений, если конструктор model_fn возвращает Tensor для predictions или массив NumPy-массивов, если model_fn возвращает dict. Возвращает итератор предсказаний, если as_iterable = True. |
| Исключения | |
|---|---|
ValueError | Если x и input_fn оба предоставлены или оба None. |
predict_classes
predict_classes(
x=None, input_fn=None, batch_size=None, as_iterable=True
)
Выполняет вывод для определения предсказанного класса. (устаревшие значения аргументов)
predict_proba
predict_proba(
x=None, input_fn=None, batch_size=None, outputs=None, as_iterable=True
)
Выполняет вывод, чтобы определить предсказанные вероятности классов. (устаревшие значения аргументов)
set_params
set_params(
**params
)
Устанавливает параметры данного оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как конвейеры). В первом случае параметры имеют вид <component>__<parameter> для возможности обновления каждого компонента вложенного объекта.
| Аргументы | |
|---|---|
**params | Параметры. |
| Возвращаемые значения | |
|---|---|
| self |
| Исключения | |
|---|---|
ValueError | Если params содержат недопустимые имена. |
© 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/SVM