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 .