Spec-Zone.ru › scikit-learn

SVR

classsklearn.svm.SVR(*, kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, C=1.0, epsilon=0.1, shrinking=True, cache_size=200, verbose=False, max_iter=-1)[source]

Регрессия с ε-опорными векторами.

Свободные параметры в модели — C и epsilon.

Реализация основана на libsvm. Время обучения модели больше, чем квадратичное от количества образцов, что затрудняет масштабирование на наборы данных с более чем несколькими тысячами образцов. Для больших наборов данных рассмотрите использование LinearSVR или SGDRegressor вместо этого, возможно, после преобразования Nystroem или другого Приближения ядер.

Подробнее см. в Руководстве пользователя.

Параметры:
kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} или вызываемая функция, по умолчанию=’rbf’

Указывает тип ядра, используемого в алгоритме. Если не задано, используется ‘rbf’. Если задана вызываемая функция, она используется для предварительного вычисления матрицы ядра. Для наглядной визуализации различных типов ядер см. Регрессия опорных векторов (SVR) с линейными и нелинейными ядрами

degreeint, по умолчанию=3

Степень полиномиального ядра (‘poly’). Должно быть неотрицательным. Игнорируется всеми другими ядрами.

gamma{‘scale’, ‘auto’} или float, по умолчанию=’scale’

Коэффициент ядра для ‘rbf’, ‘poly’ и ‘sigmoid’.

  • если gamma='scale' (по умолчанию) передается, то он использует 1 / (n_features * X.var()) в качестве значения gamma,
  • если ‘auto’, использует 1 / n_features
  • если float, должно быть неотрицательным.

Изменено в версии 0.22: Значение по умолчанию для gamma изменено с ‘auto’ на ‘scale’.

coef0float, по умолчанию=0.0

Свободный член в функции ядра. Он значим только для ‘poly’ и ‘sigmoid’.

tolfloat, по умолчанию=1e-3

Допуск для критерия остановки.

Cfloat, по умолчанию=1.0

Параметр регуляризации. Сила регуляризации обратно пропорциональна C. Должен быть строго положительным. Наказание — l2 в квадрате. Для наглядной визуализации эффектов изменения параметра регуляризации C см. Масштабирование параметра регуляризации для SVC.

epsilonfloat, по умолчанию=0.1

Epsilon в модели epsilon-SVR. Он определяет ε-трубу, внутри которой никакое наказание не связано с потерями обучения для точек, предсказанных в пределах расстояния ε от фактического значения. Должен быть неотрицательным.

shrinkingbool, по умолчанию=True

Использовать ли эвристику усадки. См. Руководство пользователя.

cache_sizefloat, по умолчанию=200

Указывает размер кэша ядра (в МБ).

verbosebool, по умолчанию=False

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

max_iterint, по умолчанию=-1

Жесткое ограничение на итерации в решателе, или -1 для неограничения.

Атрибуты:
coef_массив NumPy формы (1, n_features)

Веса, присвоенные признакам при kernel="linear".

dual_coef_массив NumPy формы (1, n_SV)

Коэффициенты опорного вектора в функции решения.

fit_status_int

0, если правильно обучено, 1 иначе (вызовет предупреждение)

intercept_массив NumPy формы (1,)

Константы в функции решения.

n_features_in_int

Количество признаков, увиденных во время обучения.

Добавлена в версии 0.24.

feature_names_in_массив NumPy формы (n_features_in_,)

Названия признаков, увиденные во время обучения. Определяется только тогда, когда X имеет имена признаков, которые все являются строками.

Добавлена в версии 1.0.

n_iter_int

Количество итераций, выполненных процедурой оптимизации для обучения модели.

Добавлена в версии 1.1.

n_support_массив NumPy формы (1,), dtype=int32

Количество опорных векторов для каждого класса.

shape_fit_кортеж целых чисел формы (n_dimensions_of_X,)

Размеры массива обучающего вектора X.

support_массив NumPy формы (n_SV,)

Индексы опорных векторов.

support_vectors_массив NumPy формы (n_SV, n_features)

Опорные векторы.

См. также

NuSVR

Машина опорных векторов для регрессии, реализованная с помощью libsvm с параметром для управления количеством опорных векторов.

LinearSVR

Масштабируемая линейная машина опорных векторов для регрессии, реализованная с помощью liblinear.

Ссылки

[1]

LIBSVM: Библиотека для машин опорных векторов

[2]

Platt, John (1999). “Вероятностные выходные данные для машин опорных векторов и сравнения с методами регуляризованной вероятности”

Примеры

>>> from sklearn.svm import SVR
>>> from sklearn.pipeline import make_pipeline
>>> from sklearn.preprocessing import StandardScaler
>>> import numpy as np
>>> n_samples, n_features = 10, 5
>>> rng = np.random.RandomState(0)
>>> y = rng.randn(n_samples)
>>> X = rng.randn(n_samples, n_features)
>>> regr = make_pipeline(StandardScaler(), SVR(C=1.0, epsilon=0.2))
>>> regr.fit(X, y)
Pipeline(steps=[('standardscaler', StandardScaler()),
                ('svr', SVR(epsilon=0.2))])
propertycoef_

Веса, присвоенные признакам при kernel="linear".

Возвращает:
массив NumPy формы (n_features, n_classes)
fit(X, y, sample_weight=None)[source]

Обучить модель SVM в соответствии с предоставленными обучающими данными.

Параметры:
X{массив, разреженная матрица} формы (n_samples, n_features) или (n_samples, n_samples)

Обучающие векторы, где n_samples — количество образцов, а n_features — количество признаков. При kernel=”precomputed” ожидаемая форма X — (n_samples, n_samples).

yмассив формы (n_samples,)

Целевые значения (метки классов в классификации, вещественные числа в регрессии).

sample_weightмассив формы (n_samples,), по умолчанию=None

Веса каждого образца. Изменяет C для каждого образца. Более высокие веса заставляют классификатор уделять больше внимания этим точкам.

Возвращает:
selfобъект

Обученная модель.

Примечания

Если X и y не являются C-упорядоченными и непрерывными массивами np.float64, и X не является scipy.sparse.csr_matrix, X и/или y могут быть скопированы.

Если X — плотный массив, то другие методы не будут поддерживать разреженные матрицы в качестве входных данных.

get_metadata_routing()[source]

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

Объект MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

Параметры:
глубокийbool, по умолчанию=True

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

Возвращает:
параметрыdict

Имена параметров, сопоставленные с их значениями.

propertyn_support_

Количество опорных векторов для каждого класса.

predict(X)[source]

Выполнить регрессию на образцах в X.

Для модели одного класса возвращается +1 (входящий) или -1 (выброс).

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Для kernel=”precomputed”, ожидаемая форма X — (n_samples_test, n_samples_train).

Возвращает:
y_predмассив формы (n_samples,)

Предсказанные значения.

score(X, y, sample_weight=None)[source]

Возвращает коэффициент детерминации предсказания.

Коэффициент детерминации \(R^2\) определяется как \((1 - \frac{u}{v})\), где \(u\) — остаточная сумма квадратов ((y_true - y_pred)** 2).sum() и \(v\) — полная сумма квадратов ((y_true - y_true.mean()) ** 2).sum(). Лучшее возможное значение равно 1.0, и оно может быть отрицательным (поскольку модель может быть произвольно хуже). Постоянная модель, которая всегда предсказывает ожидаемое значение y, игнорируя входные признаки, получит значение \(R^2\) равное 0.0.

Параметры:
Xarray-like формы (n_samples, n_features)

Тестовые образцы. Для некоторых оценивателей это может быть предварительно вычисленная матрица ядер или список общих объектов вместо нее с формой (n_samples, n_samples_fitted), где n_samples_fitted — количество образцов, используемых при подгонке для оценивателя.

yarray-like формы (n_samples,) или (n_samples, n_outputs)

Истинные значения для X.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Веса образцов.

Возвращает:
результатfloat

\(R^2\) для self.predict(X) относительно y.

Примечания

Значение \(R^2\), используемое при вызове score на регрессоре, использует multioutput='uniform_average' с версии 0.23 для согласованности с настройками по умолчанию r2_score. Это влияет на score метод всех многовыходных регрессоров (кроме MultiOutputRegressor).

set_fit_request(*, sample_weight:bool|None|str='$UNCHANGED$') → SVR[source]

Запрос метаданных, переданных методу fit.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, см. Руководство пользователя о том, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются fit при наличии. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оцениватель не передаст их fit.
  • None: метаданные не запрашиваются, и мета-оцениватель вызовет ошибку, если пользователь предоставит их.
  • str: метаданные должны быть переданы мета-оценивателю с этим псевдонимом вместо исходного имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров и не изменять для других.

Добавлен в версии 1.3.

Примечание

Этот метод актуален только если этот оцениватель используется как под-оцениватель мета-оценивателя, например, внутри Pipeline. В противном случае он не оказывает влияния.

Параметры:
sample_weightstr, True, False, или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в fit.

Возвращает:
selfobject

Обновленный объект.

set_params(**params)[source]

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

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

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр оценщика

Экземпляр оценщика.

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → SVR[source]

Запрос метаданных, передаваемых в метод score.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, см. Руководство пользователя о том, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются в score (если предоставлены). Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в score.
  • None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.
  • str: метаданные должны быть переданы мета-оценщику с этим псевдонимом вместо исходного имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для других.

Добавлен в версии 1.3.

Примечание

Этот метод актуален только если данный оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
sample_weightstr, True, False, или None, по умолчанию sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра sample_weight в score.

Возвращает:
selfобъект

Обновленный объект.

Примеры из галереи

Задержка предсказания

Сравнение регрессии с ядром и SVR

Регрессия опорных векторов (SVR) с линейными и нелинейными ядрами

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.svm.SVR.html

Spec-Zone.ru

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