PassiveAggressiveRegressor#
- класс sklearn.linear_model.PassiveAggressiveRegressor(*, C=1.0, fit_intercept=True, max_iter=1000, tol=0.001, early_stopping=False, validation_fraction=0.1, n_iter_no_change=5, перемешивание=True, verbose=0, потеря='epsilon_insensitive', эпсилон=0.1, random_state=None, warm_start=False, среднее=False)[источник]#
Пассивно-агрессивный регрессор.
Устарело с версии 1.8: Весь класс
PassiveAggressiveRegressorбыл устаревшим в версии 1.8 и будет удален в 1.10. Вместо этого используйте:reg = SGDRegressor( loss="epsilon_insensitive", penalty=None, learning_rate="pa1", # or "pa2" eta0=1.0, # for parameter C )
Подробнее в Руководство пользователя.
- Параметры:
- Cfloat, по умолчанию=1.0
Параметр агрессивности для пассивно-агрессивного алгоритма, см. [1]. Для PA-I это максимальный размер шага. Для PA-II он регулирует размер шага (чем меньше
Cтем больше он регуляризует). Как общее правило,Cдолжно быть малым, когда данные зашумлены.- fit_interceptbool, по умолчанию=True
Следует ли оценивать свободный член. Если False, предполагается, что данные уже центрированы. По умолчанию True.
- max_iterint, по умолчанию=1000
Максимальное количество проходов по обучающим данным (также называемых эпохами). Это влияет только на поведение в
fitметод, а неpartial_fitметод.Добавлено в версии 0.19.
- tolfloat или None, по умолчанию=1e-3
Критерий остановки. Если он не None, итерации остановятся, когда (потеря > предыдущая_потеря - tol).
Добавлено в версии 0.19.
- early_stoppingbool, по умолчанию=False
Использовать ли раннюю остановку для завершения обучения, когда оценка валидации не улучшается. Если установлено в True, автоматически выделяется часть обучающих данных для валидации и обучение завершается, когда оценка валидации не улучшается как минимум на tol в течение n_iter_no_change последовательных эпох.
Добавлено в версии 0.20.
- validation_fractionfloat, по умолчанию=0.1
Доля обучающих данных, которую следует отложить в качестве проверочного набора для ранней остановки. Должна быть между 0 и 1. Используется только если early_stopping равно True.
Добавлено в версии 0.20.
- n_iter_no_changeint, по умолчанию=5
Количество итераций без улучшения, которое нужно подождать перед ранней остановкой.
Добавлено в версии 0.20.
- перемешиваниеbool, по умолчанию=True
Следует ли перемешивать обучающие данные после каждой эпохи.
- verboseint, по умолчанию=0
Уровень подробности вывода.
- потеряstr, по умолчанию="epsilon_insensitive"
Используемая функция потерь: epsilon_insensitive: эквивалентно PA-I в справочной статье. squared_epsilon_insensitive: эквивалентно PA-II в справочной статье.
- эпсилонfloat, по умолчанию=0.1
Если разница между текущим предсказанием и правильной меткой ниже этого порога, модель не обновляется.
- random_stateint, экземпляр RandomState, по умолчанию=None
Используется для перемешивания обучающих данных, когда
shuffleустановлено вTrue. Передайте целое число для воспроизводимого вывода при множественных вызовах функции. См. Глоссарий.- warm_startbool, по умолчанию=False
При установке в True повторно использует решение предыдущего вызова fit в качестве инициализации, в противном случае просто стирает предыдущее решение. См. Глоссарий.
Повторные вызовы fit или partial_fit при warm_start=True могут привести к другому решению, чем при однократном вызове fit, из-за способа перемешивания данных.
- среднееbool или int, по умолчанию=False
При установке в True вычисляет усредненные веса SGD и сохраняет результат в
coef_атрибут. Если установлено целое число больше 1, усреднение начнется, когда общее количество просмотренных выборок достигнет average. Например, average=10 начнет усреднение после просмотра 10 выборок.Добавлено в версии 0.19: параметр среднее использовать усреднение весов в SGD.
- Атрибуты:
- coef_массив, форма = [1, n_features] если n_classes == 2 иначе [n_classes, n_features]
Веса, назначенные признакам.
- intercept_массив, форма = [1], если n_classes == 2, иначе [n_classes]
Константы в функции принятия решений.
- n_features_in_int
Количество признаков, замеченных во время fit.
Добавлено в версии 0.24.
- feature_names_in_ndarray формы (
n_features_in_,) Имена признаков, наблюдаемых во время fit. Определено только когда
Xимеет имена признаков, которые все являются строками.Добавлено в версии 1.0.
- n_iter_int
Фактическое количество итераций для достижения критерия остановки.
- t_int
Количество обновлений весов, выполненных во время обучения. То же, что и
(n_iter_ * n_samples + 1).
Смотрите также
SGDRegressorЛинейная модель, обученная путем минимизации регуляризованной эмпирической потери с SGD.
Ссылки
Online Passive-Aggressive Algorithms <http://jmlr.csail.mit.edu/papers/volume7/crammer06a/crammer06a.pdf> К. Краммер, О. Декель, Дж. Кешат, С. Шалев-Шварц, Й. Сингер - JMLR (2006).
Примеры
>>> from sklearn.linear_model import PassiveAggressiveRegressor >>> from sklearn.datasets import make_regression
>>> X, y = make_regression(n_features=4, random_state=0) >>> regr = PassiveAggressiveRegressor(max_iter=100, random_state=0, ... tol=1e-3) >>> regr.fit(X, y) PassiveAggressiveRegressor(max_iter=100, random_state=0) >>> print(regr.coef_) [20.48736655 34.18818427 67.59122734 87.94731329] >>> print(regr.intercept_) [-0.02306214] >>> print(regr.predict([[0, 0, 0, 0]])) [-0.02306214]
- densify()[источник]#
Преобразовать матрицу коэффициентов в плотный формат массива.
Преобразует
coef_преобразование (обратное) в numpy.ndarray. Это формат по умолчаниюcoef_и требуется для обучения, поэтому вызов этого метода необходим только для моделей, которые ранее были разрежены; в противном случае это пустая операция.- Возвращает:
- self
Обученный оценщик.
- fit(X, y, coef_init=None, intercept_init=None)[источник]#
Обучить линейную модель с помощью алгоритма Passive Aggressive.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Обучающие данные.
- yмассив numpy формы [n_samples]
Целевые значения.
- coef_initarray, shape = [n_features]
Начальные коэффициенты для теплого старта оптимизации.
- intercept_initмассив, форма = [1]
Начальный intercept для теплого старта оптимизации.
- Возвращает:
- selfobject
Обученный оценщик.
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
- маршрутизацияMetadataRequest
A
MetadataRequestИнкапсуляция информации о маршрутизации.
- get_params(глубокий=True)[источник]#
Получить параметры для этого оценщика.
- Параметры:
- глубокийbool, по умолчанию=True
Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.
- Возвращает:
- paramsdict
Имена параметров, сопоставленные с их значениями.
- partial_fit(X, y)[источник]#
Обучить линейную модель с помощью алгоритма Passive Aggressive.
- Параметры:
- X{array-like, sparse matrix} формы (n_samples, n_features)
Подмножество обучающих данных.
- yмассив numpy формы [n_samples]
Подмножество целевых значений.
- Возвращает:
- selfobject
Обученный оценщик.
- predict(X)[источник]#
Прогнозирование с использованием линейной модели.
- Параметры:
- X{array-like, sparse matrix}, форма (n_samples, n_features)
Входные данные.
- Возвращает:
- ndarray формы (n_samples,)
Предсказанные значения целевой переменной для каждого элемента в X.
- score(X, y, sample_weight=None)[источник]#
Возвращает коэффициент детерминации на тестовых данных.
Коэффициент детерминации, \(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
Веса выборок.
- Возвращает:
- scorefloat
\(R^2\) of
self.predict(X)относительноy.
Примечания
The \(R^2\) оценка, используемая при вызове
scoreна регрессоре используетmultioutput='uniform_average'с версии 0.23 для сохранения согласованности со значением по умолчаниюr2_score. Это влияет наscoreметод всех многомерных регрессоров (кромеMultiOutputRegressor).
- set_fit_request(*, coef_init: bool | None | str = '$UNCHANGED$', intercept_init: bool | None | str = '$UNCHANGED$') PassiveAggressiveRegressor[источник]#
Настроить, следует ли запрашивать передачу метаданных в
fitметод.Обратите внимание, что этот метод актуален только тогда, когда этот оценщик используется как под-оценщик внутри мета-оценщик и маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.Варианты для каждого параметра:
True: запрашиваются метаданные и передаютсяfitесли предоставлено. Запрос игнорируется, если метаданные не предоставлены.False: метаданные не запрашиваются, и мета-оценщик не передаст их вfit.None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменять запрос для некоторых параметров, но не для других.Добавлено в версии 1.3.
- Параметры:
- coef_initstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
Маршрутизация метаданных для
coef_initпараметр вfit.- intercept_initstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
Маршрутизация метаданных для
intercept_initпараметр вfit.
- Возвращает:
- selfobject
Обновленный объект.
- set_params(**params)[источник]#
Установить параметры этого оценщика.
Метод работает как на простых оценщиках, так и на вложенных объектах (таких как
Pipeline). Последние имеют параметры видачтобы можно было обновить каждый компонент вложенного объекта.__ - Параметры:
- **paramsdict
Параметры оценщика.
- Возвращает:
- selfэкземпляр estimator
Экземпляр оценщика.
- set_partial_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') PassiveAggressiveRegressor[источник]#
Настроить, следует ли запрашивать передачу метаданных в
partial_fitметод.Обратите внимание, что этот метод актуален только тогда, когда этот оценщик используется как под-оценщик внутри мета-оценщик и маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.Варианты для каждого параметра:
True: запрашиваются метаданные и передаютсяpartial_fitесли предоставлено. Запрос игнорируется, если метаданные не предоставлены.False: метаданные не запрашиваются, и мета-оценщик не передаст их вpartial_fit.None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменять запрос для некоторых параметров, но не для других.Добавлено в версии 1.3.
- Параметры:
- sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
Маршрутизация метаданных для
sample_weightпараметр вpartial_fit.
- Возвращает:
- selfobject
Обновленный объект.
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') PassiveAggressiveRegressor[источник]#
Настроить, следует ли запрашивать передачу метаданных в
scoreметод.Обратите внимание, что этот метод актуален только тогда, когда этот оценщик используется как под-оценщик внутри мета-оценщик и маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.Варианты для каждого параметра:
True: запрашиваются метаданные и передаютсяscoreесли предоставлено. Запрос игнорируется, если метаданные не предоставлены.False: метаданные не запрашиваются, и мета-оценщик не передаст их вscore.None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо исходного имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменять запрос для некоторых параметров, но не для других.Добавлено в версии 1.3.
- Параметры:
- sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
Маршрутизация метаданных для
sample_weightпараметр вscore.
- Возвращает:
- selfobject
Обновленный объект.
- разрежать()[источник]#
Преобразовать матрицу коэффициентов в разреженный формат.
Преобразует
coef_члену разреженной матрицы scipy.sparse, что для моделей с L1-регуляризацией может быть значительно более эффективным по памяти и хранению, чем обычное представление numpy.ndarray.The
intercept_Член не преобразован.- Возвращает:
- self
Обученный оценщик.
Примечания
Для неразреженных моделей, т.е. когда в
coef_, это может фактически увеличить использование памяти, поэтому используйте этот метод с осторожностью. Эмпирическое правило: количество нулевых элементов, которое можно вычислить с помощью(coef_ == 0).sum(), должно быть больше 50%, чтобы это обеспечивало значительные преимущества.После вызова этого метода дальнейшее обучение с помощью метода partial_fit (если он есть) не будет работать, пока вы не вызовете densify.