scikit-learn
regressie
Zoeken…
Gewone kleinste vierkanten
Gewone kleinste vierkanten is een methode voor het vinden van de lineaire combinatie van kenmerken die het best past bij de waargenomen uitkomst in de volgende zin.
Als de vector van de te voorspellen uitkomsten y is en de verklarende variabelen de matrix X vormen , zal OLS de vector β- oplossing vinden
min β | y ^ - y | 2 2 ,
waar y ^ = X β de lineaire voorspelling is.
In sklearn wordt dit gedaan met behulp van sklearn.linear_model.LinearRegression
.
Applicatie context
OLS mag alleen worden toegepast op regressieproblemen, het is over het algemeen niet geschikt voor classificatieproblemen: contrast
- Is een e-mail spam? (De indeling)
- Wat is de lineaire relatie tussen upvotes afhankelijk van de lengte van het antwoord? (Regressie)
Voorbeeld
Laten we een lineair model met wat ruis genereren en kijken of LinearRegression
het lineaire model kan reconstrueren.
Eerst genereren we de X
matrix:
import numpy as np
X = np.random.randn(100, 3)
Nu zullen we de y
genereren als een lineaire combinatie van X
met wat ruis:
beta = np.array([[1, 1, 0]])
y = (np.dot(x, beta.T) + 0.01 * np.random.randn(100, 1))[:, 0]
Merk op dat de echte lineaire combinatie die y
genereert, wordt gegeven door `beta.
Laten we het volgende proberen te reconstrueren uit X
en y
alleen:
>>> linear_model.LinearRegression().fit(x, y).coef_
array([ 9.97768469e-01, 9.98237634e-01, 7.55016533e-04])
Merk op dat deze vector erg lijkt op beta
.