Spec-Zone.ru › scikit-learn

Линейная регрессия

классsklearn.linear_model.LinearRegression(*, fit_intercept=True, copy_X=True, n_jobs=None, positive=False)[source]

Линейная регрессия методом наименьших квадратов.

LinearRegression подбирает линейную модель с коэффициентами w = (w1, …, wp) для минимизации остаточной суммы квадратов между наблюдаемыми целевыми значениями в наборе данных и целевыми значениями, предсказанными линейным приближением.

Параметры:
fit_interceptbool, по умолчанию=True

Вычислять ли свободный член для этой модели. Если установлено в False, свободный член не будет использоваться в расчётах (т.е. данные предполагаются центрированными).

copy_Xbool, по умолчанию=True

Если True, X будет скопирован; в противном случае он может быть перезаписан.

n_jobsint, по умолчанию=None

Количество потоков для вычислений. Это ускорит вычисления только в случае достаточно больших проблем, то есть если, во-первых, n_targets > 1 и, во-вторых, X является разреженным, или если positive установлено в True. None означает 1, за исключением контекста joblib.parallel_backend. -1 означает использование всех процессоров. См. Глоссарий для получения более подробной информации.

positivebool, по умолчанию=False

Если установлено в True, принудительно устанавливает коэффициенты положительными. Этот параметр поддерживается только для плотных массивов.

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

Атрибуты:
coef_массив формы (n_features, ) или (n_targets, n_features)

Оценённые коэффициенты для задачи линейной регрессии. Если во время обучения были переданы несколько целевых значений (y 2D), это двумерный массив формы (n_targets, n_features), а если было передано только одно целевое значение, это одномерный массив длины n_features.

rank_int

Ранг матрицы X. Доступен только, когда X является плотной.

singular_массив формы (min(X, y),)

Сингулярные значения X. Доступен только, когда X является плотным.

intercept_float или массив формы (n_targets,)

Свободный член в линейной модели. Установлен в 0.0, если fit_intercept = False.

n_features_in_int

Количество признаков, увиденных во время обучения.

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

См. также

Ridge

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

Lasso

Lasso — линейная модель, которая оценивает разреженные коэффициенты с регуляризацией L1.

ElasticNet

Elastic-Net — линейная модель регрессии, обученная с регуляризацией коэффициентов как L1, так и L2-нормами.

Примечания

С точки зрения реализации, это просто обычные наименьшие квадраты (scipy.linalg.lstsq) или неотрицательные наименьшие квадраты (scipy.optimize.nnls), обернутые в объект-предиктор.

Примеры

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
>>> X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
>>> # y = 1 * x_0 + 2 * x_1 + 3
>>> y = np.dot(X, np.array([1, 2])) + 3
>>> reg = LinearRegression().fit(X, y)
>>> reg.score(X, y)
1.0
>>> reg.coef_
array([1., 2.])
>>> reg.intercept_
np.float64(3.0...)
>>> reg.predict(np.array([[3, 5]]))
array([16.])
fit(X, y, sample_weight=None)[source]

Обучение линейной модели.

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

Данные обучения.

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

Целевые значения. Будут преобразованы к типу X, если необходимо.

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

Индивидуальные веса для каждой выборки.

Добавлен в версии 0.17: поддержка параметра sample_weight для LinearRegression.

Возвращает:
selfобъект

Обученный оценочный объект.

get_metadata_routing()[source]

Получение маршрутизации метаданных для данного объекта.

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

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

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

get_params(deep=True)[source]

Получение параметров данного оценочного объекта.

Параметры:
deepbool, по умолчанию=True

Если True, вернёт параметры данного оценочного объекта и вложенных оценочных объектов.

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

Имена параметров и их значения.

predict(X)[source]

Предсказание с помощью линейной модели.

Параметры:
Xarray-like или разреженная матрица, форма (n_samples, n_features)

Примеры.

Возвращает:
Cмассив, форма (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 of shape (n_samples, n_features)

Тестовые образцы. Для некоторых оценщиков это может быть предварительно вычисленная матрица ядра или список общих объектов вместо неё с формой (n_samples, n_samples_fitted), где n_samples_fitted — количество образцов, используемых при обучении для оценщика.

yarray-like of shape (n_samples,) or (n_samples, n_outputs)

Истинные значения для X.

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

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

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

\(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$') → LinearRegression[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, or None, default=sklearn.utils.metadata_routing.UNCHANGED

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

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

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

set_params(**params)[source]

Устанавливает параметры этого оценщика.

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

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

Параметры оценщика.

Возвращает:
selfestimator instance

Объект оценщика.

set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') → LinearRegression[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

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

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

Регрессия главных компонент против регрессии наименьших квадратов

График прогнозов индивидуальной и голосования регрессии

Сравнение линейных байесовских регрессоров

Логистическая функция

Наименьшие квадраты с неотрицательными ограничениями

Пример обычных наименьших квадратов

Дисперсия обычных наименьших квадратов и регрессии с гребнем

Квантильная регрессия

Подгонка устойчивого линейного оценщика

Оценка устойчивой линейной модели с помощью RANSAC

Регрессия Теиля-Сена

Неспособность машинного обучения к выводу причинно-следственных связей

Заполнение лица с помощью многовыходных оценок

Изотоническая регрессия

Маршрутизация метаданных

Построение прогнозов с перекрестной проверкой

Недообучение и переобучение

Использование KBinsDiscretizer для дискретизации непрерывных признаков

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

Spec-Zone.ru

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