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)
-
Опорные векторы.
-
См. также
Ссылки
Примеры
>>> 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объект
-
Обновленный объект.
-
Примеры из галереи
© 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