ПассивАгрессивныйКлассификатор
- classsklearn.linear_model.PassiveAggressiveClassifier(*, C=1.0, fit_intercept=True, max_iter=1000, tol=0.001, early_stopping=False, validation_fraction=0.1, n_iter_no_change=5, shuffle=True, verbose=0, loss='hinge', n_jobs=None, random_state=None, warm_start=False, class_weight=None, average=False)[source]
-
Классификатор пассивного агрессивного обучения.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- Cfloat, по умолчанию=1.0
-
Максимальный размер шага (регуляризация). По умолчанию 1.0.
- fit_interceptbool, по умолчанию=True
-
Нужно ли оценивать свободный член? Если False, данные предполагаются уже центрированными.
- max_iterint, по умолчанию=1000
-
Максимальное количество проходов по обучающим данным (эпох). Это влияет только на поведение в методе
fit, а не на методpartial_fit.Добавлен в версии 0.19.
- tolfloat или None, по умолчанию=1e-3
-
Критерий останова. Если не равно None, итерации остановятся, когда (loss > previous_loss - 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.
- shufflebool, по умолчанию=True
-
Перемешивать ли обучающие данные после каждой эпохи?
- verboseint, по умолчанию=0
-
Уровень подробности.
- lossstr, по умолчанию=”hinge”
-
Функция потерь: hinge: эквивалентно PA-I в статье. squared_hinge: эквивалентно PA-II в статье.
- n_jobsint или None, по умолчанию=None
-
Количество процессоров, используемых для вычисления OVA (Один против всех для многоклассовых задач).
Noneозначает 1, за исключением контекстаjoblib.parallel_backend.-1означает использование всех процессоров. См. Словарь для получения дополнительной информации. - random_stateint, RandomState instance, по умолчанию=None
-
Используется для перемешивания обучающих данных, когда
shuffleустановлено вTrue. Передайте целое число для воспроизводимых результатов при многократном вызове функций. См. Словарь. - warm_startbool, по умолчанию=False
-
Если True, используйте решение предыдущего вызова fit в качестве инициализации, иначе просто удалите предыдущее решение. См. Словарь.
Повторный вызов fit или partial_fit, когда warm_start равен True, может привести к другому решению, чем при вызове fit один раз, из-за способа перемешивания данных.
- class_weightdict, {class_label: weight} или “balanced” или None, по умолчанию=None
-
Настройка для параметра fit class_weight.
Веса, связанные с классами. Если не указано, все классы предполагаются с весом 1.
Режим “balanced” использует значения y для автоматической настройки весов, обратно пропорциональных частотам классов в входных данных, как
n_samples / (n_classes * np.bincount(y)).Добавлен в версии 0.17: параметр class_weight для автоматического взвешивания образцов.
- averagebool или int, по умолчанию=False
-
Если True, вычисляет усредненные веса SGD и сохраняет результат в атрибуте
coef_. Если установлено целое число больше 1, усреднение начнется, когда общее количество увиденных образцов достигнет average. Например, average=10 начнет усреднение после просмотра 10 образцов.Добавлен в версии 0.19: параметр average для использования усреднения весов в 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_массив формы (
n_features_in_,) -
Названия признаков, увиденные во время fit. Определены только тогда, когда
Xимеет имена признаков, которые все являются строками.Добавлен в версии 1.0.
- n_iter_int
-
Фактическое количество итераций для достижения критерия остановки. Для многоклассовой подгонки это максимум по каждой бинарной подгонке.
- classes_массив формы (n_classes,)
-
Уникальные метки классов.
- t_int
-
Количество обновлений весов, выполненных во время обучения. То же, что и
(n_iter_ * n_samples + 1).
См. также
SGDClassifier-
Логистическая регрессия, обученная по частям.
Perceptron-
Линейный классификатор персептрона.
Ссылки
Онлайн-алгоритмы пассивного агрессивного обучения <http://jmlr.csail.mit.edu/papers/volume7/crammer06a/crammer06a.pdf> K. Crammer, O. Dekel, J. Keshat, S. Shalev-Shwartz, Y. Singer - JMLR (2006)
Примеры
>>> from sklearn.linear_model import PassiveAggressiveClassifier >>> from sklearn.datasets import make_classification >>> X, y = make_classification(n_features=4, random_state=0) >>> clf = PassiveAggressiveClassifier(max_iter=1000, random_state=0, ... tol=1e-3) >>> clf.fit(X, y) PassiveAggressiveClassifier(random_state=0) >>> print(clf.coef_) [[0.26642044 0.45070924 0.67251877 0.64185414]] >>> print(clf.intercept_) [1.84127814] >>> print(clf.predict([[0, 0, 0, 0]])) [1]
- decision_function(X)[source]
-
Предсказание оценок уверенности для образцов.
Оценка уверенности для образца пропорциональна подписанному расстоянию этого образца до гиперплоскости.
- Параметры:
-
- X{array-like, sparse matrix} формы (n_samples, n_features)
-
Матрица данных, для которой требуется получить оценки уверенности.
- Возвращает:
-
- scoresмассив формы (n_samples,) или (n_samples, n_classes)
-
Оценки уверенности по каждой комбинации
(n_samples, n_classes). В бинарном случае оценка уверенности дляself.classes_[1], где >0 означает, что будет предсказан этот класс.
- densify()[source]
-
Преобразование матрицы коэффициентов в плотный массив.
Преобразует член
coef_(обратно) в numpy.ndarray. Это стандартный форматcoef_, и это требуется для подгонки, поэтому вызов этого метода требуется только для моделей, которые ранее были разреженными; в противном случае он является бездейственным.- Возвращает:
-
- self
-
Отображенный оценщик.
- fit(X, y, coef_init=None, intercept_init=None)[source]
-
Обучение линейной модели с алгоритмом Пассивного агрессивного.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Данные обучения.
- yмассив формы (n_samples,)
-
Целевые значения.
- coef_initмассив формы (n_classes, n_features)
-
Начальные коэффициенты для запуска оптимизации.
- intercept_initмассив формы (n_classes,)
-
Начальный свободный член для запуска оптимизации.
- Возвращаемое значение:
-
- selfобъект
-
Обученная модель.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.
- Возвращаемое значение:
-
- routingMetadataRequest
-
MetadataRequest, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, возвращает параметры этого оценщика и вложенных под-объектов, являющихся оценщиками.
- Возвращаемое значение:
-
- paramsdict
-
Имена параметров и их значения.
- partial_fit(X, y, classes=None)[source]
-
Обучение линейной модели с алгоритмом Пассивного агрессивного.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Подмножество данных обучения.
- yмассив формы (n_samples,)
-
Подмножество целевых значений.
- classesмассив формы (n_classes,)
-
Классы по всем вызовам partial_fit. Можно получить с помощью
np.unique(y_all), где y_all — целевой вектор всего набора данных. Этот аргумент требуется для первого вызова partial_fit и может быть опущен в последующих вызовах. Обратите внимание, что y не обязательно должен содержать все метки вclasses.
- Возвращаемое значение:
-
- selfобъект
-
Обученная модель.
- predict(X)[source]
-
Предсказать метки классов для выборок в X.
- Параметры:
-
- X{массив, разреженная матрица} формы (n_samples, n_features)
-
Матрица данных, для которой мы хотим получить предсказания.
- Возвращаемое значение:
-
- y_predмассив формы (n_samples,)
-
Вектор, содержащий метки классов для каждой выборки.
- score(X, y, sample_weight=None)[source]
-
Возвращает среднюю точность на заданных тестовых данных и метках.
В многоклассовой классификации это точность подмножества, которая является жёсткой метрикой, так как для каждой выборки требуется, чтобы каждый набор меток был предсказан правильно.
- Параметры:
-
- Xмассив формы (n_samples, n_features)
-
Тестовые выборки.
- yмассив формы (n_samples,) или (n_samples, n_outputs)
-
Истинные метки для
X. - sample_weightмассив формы (n_samples,), по умолчанию=None
-
Веса выборок.
- Возвращаемое значение:
-
- scorefloat
-
Средняя точность
self.predict(X)по отношению кy.
- set_fit_request(*, coef_init:bool|None|str='$UNCHANGED$', intercept_init:bool|None|str='$UNCHANGED$') PassiveAggressiveClassifier[source]
-
Запрос метаданных, переданных в метод
fit.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True, (см.sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя для получения информации о механизме маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаются методуfit, если они предоставлены. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются и мета-оценщик не передаст их методуfit. -
None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их. -
str: метаданные должны передаваться мета-оценщику с указанным псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменять запросы для некоторых параметров, а не для всех.Добавлена в версии 1.3.
Примечание
Этот метод актуален только в том случае, если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает влияния.- Parameters:
-
- coef_initstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
coef_initвfit. - intercept_initstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
intercept_initвfit.
- Returns:
-
- selfobject
-
Обновлённый объект.
-
- set_params(**params)[source]
-
Устанавливает параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (такими как
Pipeline). Последние имеют параметры вида<component>__<parameter>, чтобы можно было обновить каждый компонент вложенного объекта.- Parameters:
-
- **paramsdict
-
Параметры оценщика.
- Returns:
-
- selfestimator instance
-
Экземпляр оценщика.
- set_partial_fit_request(*, classes:bool|None|str='$UNCHANGED$') PassiveAggressiveClassifier[source]
-
Запрос метаданных, переданных в метод
partial_fit.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True, (см.sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя для получения информации о механизме маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаются методуpartial_fitпри наличии. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются и мета-оценщик не передаст их методуpartial_fit. -
None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их. -
str: метаданные должны передаваться мета-оценщику с указанным псевдонимом вместо оригинального имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменять запросы для некоторых параметров, а не для всех.Добавлена в версии 1.3.
Примечание
Этот метод актуален только в том случае, если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри
Pipeline. В противном случае он не оказывает влияния.- Parameters:
-
- classesstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
classesвpartial_fit.
- Returns:
-
- selfobject
-
Обновлённый объект.
-
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') PassiveAggressiveClassifier[source]
-
Запрос метаданных, передаваемых методу
score.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). Пожалуйста, обратитесь к Руководству пользователя для информации о работе механизма маршрутизации.Варианты для каждого параметра:
-
True: метаданные запрашиваются и передаются методуscoreпри их наличии. Запрос игнорируется, если метаданные отсутствуют. -
False: метаданные не запрашиваются, и мета-эстиматор не передаст их методуscore. -
None: метаданные не запрашиваются, и мета-эстиматор выдаст ошибку, если пользователь их предоставит. -
str: метаданные должны передаваться мета-эстиматору с этим алиасом вместо исходного имени.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для других.Добавлен в версии 1.3.
Примечание
Этот метод актуален только если этот эстиматор используется в качестве подэстиматора мета-эстиматора, например, внутри
Pipeline. В противном случае он не оказывает влияния.- Parameters:
-
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвscore.
- Returns:
-
- selfobject
-
Обновленный объект.
-
- sparsify()[source]
-
Преобразовать матрицу коэффициентов в разреженный формат.
Преобразует член
coef_в матрицу scipy.sparse, что для моделей с L1-регуляризацией может быть намного эффективнее по памяти и хранению, чем обычное представление numpy.ndarray.Член
intercept_не преобразуется.- Returns:
-
- self
-
Обученный эстиматор.
Примечания
Для неразреженных моделей, то есть когда в
coef_не очень много нулей, это может фактически увеличить использование памяти, поэтому используйте этот метод с осторожностью. Правило большого пальца состоит в том, что количество нулевых элементов, которое можно вычислить с помощью(coef_ == 0).sum(), должно быть более 50% для получения существенных преимуществ.После вызова этого метода дальнейшая подгонка с помощью метода partial_fit (если таковой имеется) не будет работать, пока вы не вызовете densify.
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.linear_model.PassiveAggressiveClassifier.html