Поиск…


Обычные наименьшие квадраты

Обычные наименьшие квадраты - это метод нахождения линейной комбинации признаков, которая наилучшим образом соответствует наблюдаемому результату в следующем смысле.

Если вектором прогнозируемых результатов является y , а объясняющие переменные образуют матрицу X , тогда OLS найдет решение β- вектора

min β | y ^ - y | 2 2 ,

где y ^ = X β - линейное предсказание.

В sklearn это делается с использованием sklearn.linear_model.LinearRegression .

Контекст приложения

OLS следует применять только к регрессионным проблемам, обычно это непригодно для проблем классификации: Contrast

  • Является ли спам электронной почты? (Classfication)
  • Какова линейная зависимость между upvotes зависит от длины ответа? (Регрессия)

пример

Давайте LinearRegression линейную модель с некоторым шумом, а затем посмотрим, будет ли LinearRegression восстановлением линейной модели.

Сначала мы сгенерируем матрицу X :

import numpy as np

X = np.random.randn(100, 3)

Теперь мы будем генерировать y как линейную комбинацию X с некоторым шумом:

beta = np.array([[1, 1, 0]])
y = (np.dot(x, beta.T) + 0.01 * np.random.randn(100, 1))[:, 0]

Обратите внимание, что истинная линейная комбинация, генерирующая y , задается `beta.

Чтобы попытаться восстановить это только из X и y , давайте сделаем следующее:

>>> linear_model.LinearRegression().fit(x, y).coef_
array([  9.97768469e-01,   9.98237634e-01,   7.55016533e-04])

Обратите внимание, что этот вектор очень похож на beta .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow