Przejdź do głównej zawartości

linear_regression

czym jest regresja liniowa?

  • Najprostszy model regresyjny: przewiduje wartość na podstawie liniowej kombinacji cech (zmiennych).
  • Innymi słowy - to zwykła funkcja liniowa f(x).
  • Równanie prostej: y = w * x + b (dla jednej zmiennej), y = w1*x1 + a2*x2 + ... + b (dla wielu zmiennych).
  • Używana do przewidywania cen, trendów, zależności ilościowych.

jak działa regresja liniowa? ⭐

  • Model "uczy się" współczynników (w, b) na podstawie danych treningowych.
  • Metodą uczenia się modelu jest gradient descent, o którym mowa na następnej stronie.
  • Celem jest minimalizacja błędu (najczęściej: średni błąd kwadratowy, MSE).
  • W Pythonie: scikit-learn, statsmodels.

przykładowy kod (scikit-learn)

from sklearn.linear_model import LinearRegression
import numpy as np
X = np.array([[1], [2], [3], [4]]) # cecha
y = np.array([2, 4, 6, 8]) # wartość docelowa
model = LinearRegression()
model.fit(X, y)
print(model.coef_, model.intercept_) # coef -> coefficients (współczynniki)

praktyczne ćwiczenia

  • Zrób własną regresję przy użyciu jedynie NumPy.
  • Wygeneruj dane i dopasuj do nich prostą regresję.
  • Przewiduj wartości dla nowych danych.
  • Narysuj dane i linię regresji na wykresie.

dobre praktyki

  • Sprawdzaj, czy zależność jest rzeczywiście liniowa.
  • Normalizuj dane, jeśli mają różne skale.
  • Analizuj reszty (różnice między przewidywaniami a rzeczywistością).

polecane źródła