Spec-Zone.ru › scikit-learn

ПассивАгрессивныйКлассификатор

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.

END_OF_DOCUMENT_MARKER
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

Spec-Zone.ru

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