scikit-learn
Regresja
Szukaj…
Zwykłe najmniejsze kwadraty
Zwykłe najmniejsze kwadraty to metoda znajdowania liniowej kombinacji cech, która najlepiej pasuje do obserwowanego wyniku w następującym znaczeniu.
Jeżeli wektor przewidywanych wyników to y , a zmienne objaśniające tworzą macierz X , wówczas OLS znajdzie rozwiązanie wektora β
min β | y ^ - y | 2 2
gdzie y ^ = X β jest prognozą liniową.
W sklearn odbywa się to za pomocą sklearn.linear_model.LinearRegression
.
Kontekst aplikacji
OLS należy stosować tylko w przypadku problemów z regresją, ogólnie nie nadaje się do problemów z klasyfikacją: kontrast
- Czy spam jest e-mailem? (Klasyfikacja)
- Jaka jest liniowa zależność między upvotes zależy od długości odpowiedzi? (Regresja)
Przykład
LinearRegression
model liniowy z pewnym szumem, a następnie LinearRegression
czy LinearRegression
liniowa LinearRegression
zrekonstruować model liniowy.
Najpierw generujemy macierz X
:
import numpy as np
X = np.random.randn(100, 3)
Teraz wygenerujemy y
jako liniową kombinację X
z pewnym szumem:
beta = np.array([[1, 1, 0]])
y = (np.dot(x, beta.T) + 0.01 * np.random.randn(100, 1))[:, 0]
Zauważ, że prawdziwa kombinacja liniowa generująca y
jest dana przez `beta.
Aby spróbować zrekonstruować to tylko z X
i y
, zróbmy:
>>> linear_model.LinearRegression().fit(x, y).coef_
array([ 9.97768469e-01, 9.98237634e-01, 7.55016533e-04])
Zauważ, że ten wektor jest bardzo podobny do beta
.