Regresja to zadanie uczenia maszynowego, w którym model przewiduje wartość ciągłą — liczbę, a nie etykietę. Pytasz „ile?” zamiast „która kategoria?”. Ile będzie kosztować mieszkanie, ile sztuk towaru sprzedasz w przyszłym miesiącu, ile minut zajmie dostawa, jaka będzie temperatura jutro o 12:00. Wynik to dowolna liczba z pewnego zakresu, a nie wybór z zamkniętej listy klas. To właśnie odróżnia regresję od klasyfikacji: tam dostajesz „spam / nie-spam”, tu dostajesz konkretne 247,80 zł.
Model regresyjny uczy się na danych historycznych, w których znasz zarówno cechy wejściowe (powierzchnia, liczba pokoi, lokalizacja), jak i prawidłową odpowiedź (cena). Podczas treningu dopasowuje parametry tak, żeby jego przewidywania były jak najbliżej rzeczywistych wartości. „Jak najbliżej” mierzy się funkcją straty — najczęściej MSE (mean squared error) albo MAE (mean absolute error). MSE mocno karze duże pomyłki, bo podnosi błąd do kwadratu, więc bywa wrażliwa na wartości odstające.
Najprostszy wariant to regresja liniowa, która szuka prostej (albo hiperpłaszczyzny) najlepiej pasującej do danych. Gdy zależności są bardziej pokręcone, sięgasz po RandomForestRegressor, gradient boosting (XGBoost, LightGBM) czy sieci neuronowe. To wciąż regresja — zmienia się tylko sposób, w jaki model rysuje tę „linię”.
Przykład z praktyki
W Pythonie z biblioteką scikit-learn przewidywanie cen mieszkań to dosłownie kilka linijek:
from sklearn.linear_model import LinearRegression
model = LinearRegression().fit(X_train, y_train)
preds = model.predict(X_test)
Jakość sprawdzasz metryką R² (ile wariancji model wyjaśnia, gdzie 1.0 to ideał) oraz RMSE, czyli pierwiastkiem z MSE — wygodnym, bo wyrażonym w tych samych jednostkach co cel (np. w złotówkach).
Na co uważać
- Mit „regresja = regresja liniowa”. Liniowa to tylko jeden z wielu modeli regresyjnych, a nie synonim całego zadania.
- Ekstrapolacja. Model przewiduje dobrze w zakresie danych, na których się uczył. Pytasz o mieszkanie 10× większe niż cokolwiek w treningu? Dostaniesz liczbę, ale traktuj ją jak wróżbę z fusów.
- Overfitting. Model wyklepany na pamięć danych treningowych ładnie wygląda na treningu i sypie się na nowych danych. Zawsze oceniaj na zbiorze testowym.
- Mylenie z regresją logistyczną, która — wbrew nazwie — służy do klasyfikacji, nie do przewidywania liczb.
Pojęcia powiązane: klasyfikacja, uczenie nadzorowane (supervised learning), regresja liniowa i logistyczna, funkcja straty (MSE, MAE), metryki R² i RMSE, overfitting, cechy (features).