Линейная регрессия
- класс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
-
Обновлённый объект.
-
Примеры из галереи
© 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