Spec-Zone.ru › scikit-learn

SGDClassifier

classsklearn.linear_model.SGDClassifier(loss='hinge', *, penalty='l2', alpha=0.0001, l1_ratio=0.15, fit_intercept=True, max_iter=1000, tol=0.001, shuffle=True, verbose=0, epsilon=0.1, n_jobs=None, random_state=None, learning_rate='optimal', eta0=0.01, power_t=0.5, early_stopping=False, validation_fraction=0.1, n_iter_no_change=5, class_weight=None, warm_start=False, average=False)[исходный код]

Линейные классификаторы (SVM, логистическая регрессия и т. д.) с обучением методом SGD.

Этот оцениватель реализует регуляризованные линейные модели, обучаемые методом стохастического градиентного спуска (SGD): градиент функции потерь оценивается по одному образцу за раз, а модель обновляется по ходу обучения с убывающим коэффициентом (также называемым скоростью обучения). SGD позволяет обучаться на мини-пакетах (в режиме онлайн или вне основной памяти) с помощью метода partial_fit. Для достижения наилучших результатов при использовании расписания скорости обучения по умолчанию данные должны иметь нулевое среднее и единичную дисперсию.

Эта реализация работает с данными, представленными в виде плотных или разреженных массивов значений с плавающей точкой для признаков. Обучаемую модель можно настраивать с помощью параметра loss; по умолчанию обучается линейная машина опорных векторов (SVM).

Регуляризатор — это штраф, добавляемый к функции потерь, который сжимает параметры модели в направлении нулевого вектора, используя евклидову норму L2 в квадрате, абсолютную норму L1 или их комбинацию (Elastic Net). Если из-за регуляризатора обновление параметра пересекает значение 0.0, обновление усекается до 0.0, что позволяет обучать разреженные модели и выполнять отбор признаков в режиме онлайн.

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

Параметры:
loss{‘hinge’, ‘log_loss’, ‘modified_huber’, ‘squared_hinge’, ‘perceptron’, ‘squared_error’, ‘huber’, ‘epsilon_insensitive’, ‘squared_epsilon_insensitive’}, default=’hinge’

Функция потерь, которую следует использовать.

  • ‘hinge’ соответствует линейной SVM.
  • ‘log_loss’ соответствует логистической регрессии — вероятностному классификатору.
  • ‘modified_huber’ — ещё одна гладкая функция потерь, устойчивая к выбросам и позволяющая оценивать вероятности.
  • ‘squared_hinge’ похожа на hinge, но штраф за неё задаётся квадратично.
  • ‘perceptron’ — линейная функция потерь, используемая алгоритмом перцептрона.
  • Остальные функции потерь — ‘squared_error’, ‘huber’, ‘epsilon_insensitive’ и ‘squared_epsilon_insensitive’ — предназначены для регрессии, но могут быть полезны и в классификации; описание см. в SGDRegressor.

Подробнее о формулах функций потерь см. в руководстве пользователя. Визуализация функций потерь приведена в разделе SGD: выпуклые функции потерь.

penalty{‘l2’, ‘l1’, ‘elasticnet’, None}, default=’l2’

Используемый штраф (также называемый членом регуляризации). По умолчанию используется ‘l2’ — стандартный регуляризатор для линейных моделей SVM. ‘l1’ и ‘elasticnet’ могут сделать модель разреженной (отбор признаков), чего нельзя достичь с помощью ‘l2’. Если задано значение None, штраф не добавляется.

Визуализацию штрафов см. в разделе SGD: штрафы.

alphafloat, default=0.0001

Константа, на которую умножается член регуляризации. Чем выше значение, тем сильнее регуляризация. Также используется для вычисления скорости обучения, когда для learning_rate задано значение ‘optimal’. Значения должны находиться в диапазоне [0.0, inf).

l1_ratiofloat, default=0.15

Параметр смешивания Elastic Net, где 0 <= l1_ratio <= 1. Значение l1_ratio=0 соответствует штрафу L2, а l1_ratio=1 — L1. Используется только если penalty имеет значение ‘elasticnet’. Значения должны находиться в диапазоне [0.0, 1.0] или могут быть равны None, если penalty не равно elasticnet.

Изменено в версии 1.7: l1_ratio может быть равно None, если penalty не равно “elasticnet”.

fit_interceptbool, default=True

Следует ли оценивать свободный член. Если задано False, предполагается, что данные уже центрированы.

max_iterint, default=1000

Максимальное число проходов по обучающим данным (также называемых эпохами). Этот параметр влияет только на поведение метода fit, но не метода partial_fit. Значения должны находиться в диапазоне [1, inf).

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

tolfloat or None, default=1e-3

Критерий остановки. Если значение не равно None, обучение остановится, когда условие (loss > best_loss - tol) будет выполняться на протяжении n_iter_no_change эпох подряд. Сходимость проверяется по функции потерь на обучающей или проверочной выборке в зависимости от параметра early_stopping. Значения должны находиться в диапазоне [0.0, inf).

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

shufflebool, default=True

Следует ли перемешивать обучающие данные после каждой эпохи.

verboseint, default=0

Уровень подробности вывода. Значения должны находиться в диапазоне [0, inf).

epsilonfloat, default=0.1

Эпсилон в функциях потерь epsilon-insensitive; используется только если loss равно ‘huber’, ‘epsilon_insensitive’ или ‘squared_epsilon_insensitive’. Для ‘huber’ определяет порог, начиная с которого точное совпадение предсказания становится менее важным. Для epsilon-insensitive игнорируются различия между текущим предсказанием и правильной меткой, если они меньше этого порога. Значения должны находиться в диапазоне [0.0, inf).

n_jobsint, default=None

Число процессоров, используемых для вычисления OVA (One Versus All, «один против всех») в задачах многоклассовой классификации. None означает 1, за исключением контекста joblib.parallel_backend. -1 означает использование всех процессоров. Подробнее см. в глоссарии.

random_stateint, RandomState instance, default=None

Используется для перемешивания данных, когда для shuffle задано значение True. Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий. Целочисленные значения должны находиться в диапазоне [0, 2**32 - 1].

learning_ratestr, default=’optimal’

Расписание скорости обучения:

  • ‘constant’: eta = eta0
  • ‘optimal’: eta = 1.0 / (alpha * (t + t0)), где t0 выбирается с помощью эвристики, предложенной Леоном Ботту.
  • ‘invscaling’: eta = eta0 / pow(t, power_t)
  • ‘adaptive’: eta = eta0, пока функция потерь на обучающей выборке продолжает уменьшаться. Каждый раз, когда n_iter_no_change эпох подряд не удаётся уменьшить функцию потерь на обучающей выборке на tol или увеличить оценку на проверочной выборке на tol, если early_stopping равно True, текущая скорость обучения делится на 5.
  • ‘pa1’: пассивно-агрессивный алгоритм 1, см. [1]. Только с loss='hinge'. Обновление выполняется по формуле w += eta y x с eta = min(eta0, loss/||x||**2).
  • ‘pa2’: пассивно-агрессивный алгоритм 2, см. [1]. Только с loss='hinge'. Обновление выполняется по формуле w += eta y x с eta = hinge_loss / (||x||**2 + 1/(2 eta0)).

Добавлено в версии 0.20: Добавлен параметр ‘adaptive’.

Добавлено в версии 1.8: Добавлены параметры ‘pa1’ и ‘pa2’.

eta0float, default=0.01

Начальная скорость обучения для расписаний ‘constant’, ‘invscaling’ или ‘adaptive’. Значение по умолчанию — 0.01, однако обратите внимание, что eta0 не используется при заданной по умолчанию скорости обучения ‘optimal’. Значения должны находиться в диапазоне (0.0, inf).

Для PA-1 (learning_rate=pa1) и PA-II (pa2) этот параметр задаёт агрессивность пассивно-агрессивного алгоритма; см. [1], где он обозначен как C:

  • Для PA-I это максимальный размер шага.
  • Для PA-II он регуляризует размер шага (чем меньше eta0, тем сильнее регуляризация).

Как правило, для PA значение eta0 должно быть небольшим, если данные зашумлены.

power_tfloat, default=0.5

Показатель степени для скорости обучения с обратным масштабированием. Значения должны находиться в диапазоне [0.0, inf).

Устарело с версии 1.8: Отрицательные значения для power_t объявлены устаревшими в версии 1.8 и вызовут ошибку в версии 1.10. Вместо них используйте значения в диапазоне [0.0, inf).

early_stoppingbool, default=False

Следует ли использовать раннюю остановку обучения, если оценка на проверочной выборке перестала улучшаться. Если задано значение True, доля обучающих данных будет автоматически выделена в стратифицированную проверочную выборку, а обучение будет остановлено, если оценка на проверочной выборке, возвращаемая методом score, не улучшается как минимум на tol в течение n_iter_no_change эпох подряд.

Пример влияния ранней остановки см. в разделе Ранняя остановка стохастического градиентного спуска.

Добавлено в версии 0.20: Добавлен параметр ‘early_stopping’.

validation_fractionfloat, default=0.1

Доля обучающих данных, выделяемая в проверочную выборку для ранней остановки. Значение должно быть от 0 до 1. Используется только если early_stopping имеет значение True. Значения должны находиться в диапазоне (0.0, 1.0).

Добавлено в версии 0.20: Добавлен параметр ‘validation_fraction’.

n_iter_no_changeint, default=5

Число итераций без улучшения, по истечении которого обучение останавливается. Сходимость проверяется по функции потерь на обучающей или проверочной выборке в зависимости от параметра early_stopping. Целочисленные значения должны находиться в диапазоне [1, max_iter).

Добавлено в версии 0.20: Добавлен параметр ‘n_iter_no_change’.

class_weightdict, {class_label: weight} or “balanced”, default=None

Значение параметра class_weight, задаваемое по умолчанию при обучении.

Веса, связанные с классами. Если не заданы, предполагается, что вес каждого класса равен единице.

Режим “balanced” автоматически корректирует веса на основе значений y, обратно пропорционально частоте классов во входных данных, по формуле n_samples / (n_classes * np.bincount(y)).

warm_startbool, default=False

Если задано значение True, результат предыдущего вызова fit повторно используется в качестве начального приближения; в противном случае предыдущий результат удаляется. См. глоссарий.

Повторный вызов fit или partial_fit при warm_start=True может привести к результату, отличающемуся от результата однократного вызова fit, из-за того, как перемешиваются данные. Если используется динамическая скорость обучения, она изменяется в зависимости от числа уже просмотренных образцов. Вызов fit сбрасывает этот счётчик, а вызов partial_fit увеличивает его текущее значение.

averagebool or int, default=False

Если задано значение True, вычисляются усреднённые веса SGD по всем обновлениям, и результат сохраняется в атрибуте coef_. Если задано целое число больше 1, усреднение начнётся, когда общее число просмотренных образцов достигнет average. Таким образом, average=10 начнёт усреднение после просмотра 10 образцов. Целочисленные значения должны находиться в диапазоне [1, n_samples].

Атрибуты:
coef_ndarray of shape (1, n_features) if n_classes == 2 else (n_classes, n_features)

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

intercept_ndarray of shape (1,) if n_classes == 2 else (n_classes,)

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

n_iter_int

Фактическое число итераций до достижения критерия остановки. Для многоклассового обучения это максимальное число итераций среди всех бинарных моделей.

classes_array of shape (n_classes,)
t_int

Число обновлений весов, выполненных во время обучения. Совпадает с (n_iter_ * n_samples + 1).

n_features_in_int

Число признаков, полученных при вызове fit.

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

feature_names_in_ndarray of shape (n_features_in_,)

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

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

См. также

sklearn.svm.LinearSVC

Линейная классификация с помощью метода опорных векторов.

LogisticRegression

Логистическая регрессия.

Perceptron

Наследуется от SGDClassifier. Perceptron() эквивалентен SGDClassifier(loss="perceptron", eta0=1, learning_rate="constant", penalty=None).

Список литературы

[1] (1,2)

Онлайн-алгоритмы пассивно-агрессивного обучения <http://jmlr.csail.mit.edu/papers/volume7/crammer06a/crammer06a.pdf> K. Crammer, O. Dekel, J. Keshat, S. Shalev-Shwartz, Y. Singer — JMLR (2006)

Примеры

>>> import numpy as np
>>> from sklearn.linear_model import SGDClassifier
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.pipeline import make_pipeline
>>> X = np.array([[-1, -1], [-2, -1], [1, 1], [2, 1]])
>>> Y = np.array([1, 1, 2, 2])
>>> # Always scale the input. The most convenient way is to use a pipeline.
>>> clf = make_pipeline(StandardScaler(),
...                     SGDClassifier(max_iter=1000, tol=1e-3))
>>> clf.fit(X, Y)
Pipeline(steps=[('standardscaler', StandardScaler()),
                ('sgdclassifier', SGDClassifier())])
>>> print(clf.predict([[-0.8, -1]]))
[1]
decision_function(X)[исходный код]

Предсказывает оценки уверенности для образцов.

Оценка уверенности для образца пропорциональна знаковому расстоянию этого образца до гиперплоскости.

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

Матрица данных, для которых требуется получить оценки уверенности.

Возвращает:
scoresndarray of shape (n_samples,) or (n_samples, n_classes)

Оценки уверенности для каждой комбинации (n_samples, n_classes). В бинарном случае оценка уверенности для self.classes_[1], где значение >0 означает, что будет предсказан этот класс.

densify()[исходный код]

Преобразует матрицу коэффициентов в формат плотного массива.

Преобразует атрибут coef_ обратно в numpy.ndarray. Это формат по умолчанию для coef_, необходимый для обучения, поэтому вызывать этот метод нужно только для моделей, которые ранее были преобразованы в разреженный формат; в остальных случаях вызов ничего не делает.

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

Обученный оцениватель.

fit(X, y, coef_init=None, intercept_init=None, sample_weight=None)[исходный код]

Обучает линейную модель методом стохастического градиентного спуска.

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

Обучающие данные.

yndarray of shape (n_samples,)

Целевые значения.

coef_initndarray of shape (n_classes, n_features), default=None

Начальные коэффициенты для продолжения оптимизации.

intercept_initndarray of shape (n_classes,), default=None

Начальное значение свободного члена для продолжения оптимизации.

sample_weightarray-like, shape (n_samples,), default=None

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

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

Возвращает экземпляр self.

get_metadata_routing()[исходный код]

Возвращает маршрутизацию метаданных этого объекта.

Описание работы механизма маршрутизации см. в руководстве пользователя.

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

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

get_params(deep=True)[исходный код]

Возвращает параметры этого оценивателя.

Параметры:
deepbool, default=True

Если True, будут возвращены параметры этого оценивателя и содержащихся в нём объектов-оценивателей.

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

Имена параметров и соответствующие им значения.

partial_fit(X, y, classes=None, sample_weight=None)[исходный код]

Выполняет одну эпоху стохастического градиентного спуска на заданных образцах.

Внутри этот метод использует max_iter = 1. Поэтому нет гарантии, что после однократного вызова будет достигнут минимум функции стоимости. Пользователь должен самостоятельно обрабатывать такие аспекты, как сходимость целевой функции, ранняя остановка и настройка скорости обучения.

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

Подмножество обучающих данных.

yndarray of shape (n_samples,)

Подмножество целевых значений.

classesndarray of shape (n_classes,), default=None

Классы для всех вызовов partial_fit. Их можно получить с помощью np.unique(y_all), где y_all — целевой вектор всего набора данных. Этот аргумент обязателен при первом вызове partial_fit и может быть опущен при последующих вызовах. Обратите внимание: y не обязательно должен содержать все метки из classes.

sample_weightarray-like, shape (n_samples,), default=None

Веса отдельных образцов. Если не заданы, предполагаются равномерные веса.

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

Возвращает экземпляр self.

predict(X)[исходный код]

Предсказывает метки классов для образцов из X.

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

Матрица данных, для которых требуется получить предсказания.

Возвращает:
y_predndarray of shape (n_samples,)

Вектор с метками классов для каждого образца.

predict_log_proba(X)[исходный код]

Логарифмы оценок вероятности.

Этот метод доступен только для функции потерь log loss и modified Huber.

При loss=”modified_huber” оценки вероятности могут принимать точные значения нуля и единицы, поэтому вычислить их логарифм невозможно.

Подробнее см. predict_proba.

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

Входные данные для предсказания.

Возвращает:
Tarray-like, shape (n_samples, n_classes)

Возвращает логарифм вероятности образца для каждого класса модели; классы упорядочены так же, как в self.classes_.

predict_proba(X)[исходный код]

Оценки вероятностей.

Этот метод доступен только для функции потерь log loss и modified Huber loss.

Оценки вероятностей для нескольких классов получают из оценок для бинарной классификации (один против остальных) путем простой нормализации, как рекомендовано Zadrozny и Elkan.

Оценки вероятностей для бинарной классификации при loss=”modified_huber” вычисляются по формуле (clip(decision_function(X), -1, 1) + 1) / 2. Для остальных функций потерь необходимо выполнить надлежащую калибровку вероятностей, обернув классификатор в CalibratedClassifierCV.

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

Входные данные для предсказания.

Возвращает:
ndarray формы (n_samples, n_classes)

Возвращает вероятность принадлежности образца к каждому классу модели; классы упорядочены так же, как в self.classes_.

Список литературы

Zadrozny и Elkan, «Преобразование оценок классификатора в оценки вероятностей для нескольких классов», SIGKDD’02, https://dl.acm.org/doi/pdf/10.1145/775047.775151

Обоснование формулы для случая loss=”modified_huber” приведено в приложении B работы: http://jmlr.csail.mit.edu/papers/volume2/zhang02c/zhang02c.pdf

score(X, y, sample_weight=None)[исходный код]

Возвращает точность на переданных данных и метках.

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

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

Тестовые образцы.

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

Истинные метки для X.

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

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

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

Средняя точность self.predict(X) относительно y.

set_fit_request(*, coef_init:bool|None|str='$UNCHANGED$', intercept_init:bool|None|str='$UNCHANGED$', sample_weight:bool|None|str='$UNCHANGED$') → SGDClassifier[исходный код]

Настраивает, следует ли запрашивать передачу метаданных в метод 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.

sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_params(**params)[исходный код]

Задает параметры этого оценивателя.

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

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

Параметры оценивателя.

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

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

set_partial_fit_request(*, classes:bool|None|str='$UNCHANGED$', sample_weight:bool|None|str='$UNCHANGED$') → SGDClassifier[исходный код]

Настраивает, следует ли запрашивать передачу метаданных в метод partial_fit.

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

Для каждого параметра доступны следующие варианты:

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

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

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

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

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

sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → SGDClassifier[исходный код]

Настраивает, следует ли запрашивать передачу метаданных в метод 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

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

sparsify()[исходный код]

Преобразует матрицу коэффициентов в разреженный формат.

Преобразует атрибут coef_ в матрицу scipy.sparse, которая для моделей с L1-регуляризацией может быть значительно эффективнее обычного представления numpy.ndarray с точки зрения использования памяти и объема хранения.

Атрибут intercept_ не преобразуется.

Предупреждение

Этот метод не поддерживается для оценивателей, обученных с входными данными Array API (то есть когда sklearn.config_context используется с array_api_dispatch=True). Вызов может завершиться успешно, однако последующие вызовы predict и других методов, принимающих массивы, могут вызвать ошибку или вернуть неожиданный результат.

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

Обученный оцениватель.

Примечания

Для моделей, не являющихся разреженными, то есть когда в coef_ мало нулей, этот метод может фактически увеличить расход памяти, поэтому используйте его с осторожностью. Как правило, количество нулевых элементов, которое можно вычислить с помощью (coef_ == 0).sum(), должно превышать 50 %, чтобы метод обеспечивал значительные преимущества.

После вызова этого метода дальнейшее обучение методом partial_fit (если оно применимо) будет невозможно, пока вы не вызовете densify.

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

Влияние сложности модели

Классификация текстовых документов out-of-core

Ранняя остановка стохастического градиентного спуска

Многоклассовый SGD на наборе данных iris

SGD: выпуклые функции потерь

SGD: регуляризация

SGD: разделяющая гиперплоскость с максимальным зазором

SGD: взвешенные образцы

Аппроксимация явного отображения признаков для ядер RBF

Сравнение случайного поиска и поиска по сетке для оценки гиперпараметров

Основные изменения в scikit-learn 1.6

Полуобучение для классификации текстового набора данных

Классификация текстовых документов с использованием разреженных признаков

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.linear_model.SGDClassifier.html

Spec-Zone.ru

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