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)
- Na tym etapie używamy gotowego modelu z 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
- Aby iść dalej wysoko zalecany jest kurs Andrew Ng (Tylko kurs pierwszy)
- mlcourse.ai
- Regresja liniowa – scikit-learn
- Wprowadzenie do regresji liniowej – W3Schools
- Linear Regression – StatQuest (YouTube)