Random Forest

Wprowadzenie

Random Forest to potężna metoda uczenia maszynowego należąca do rodziny ensemble learning. Polega na budowie wielu drzew decyzyjnych i łączeniu ich predykcji w celu uzyskania lepszej dokładności i odporności na overfitting.

Jak działa Random Forest?

Algorytm opiera się na technice Bagging (Bootstrap Aggregating) z dodatkowym losowaniem cech:

  • Tworzy wiele podzbiorów danych treningowych metodą bootstrap (losowanie ze zwracaniem)
  • Dla każdego drzewa losuje podzbiór cech na każdym rozgałęzieniu (feature randomness)
  • Każde drzewo trenowane jest niezależnie
  • Ostateczna predykcja: większość głosów (klasyfikacja) lub średnia (regresja)

Główne parametry

  • n_estimators – liczba drzew (im więcej, tym lepiej, zwykle 100–500)
  • max_depth – maksymalna głębokość drzewa
  • max_features – liczba cech branych pod uwagę przy każdym podziale
  • min_samples_split / min_samples_leaf – kontrola przeuczenia
  • bootstrap – czy używać próbkowania ze zwracaniem

Zalety Random Forest

  • Bardzo dobra dokładność i odporność na overfitting
  • Automatyczne obliczanie ważności cech (feature importance)
  • Radzi sobie zarówno z danymi numerycznymi, jak i kategorycznymi
  • Odporny na brakujące dane i dane niezbalansowane
  • Łatwy w użyciu i dobrze skaluje się na średnie zbiory danych

Ograniczenia

  • Wysokie zużycie pamięci i wolniejsze predykcje przy dużej liczbie drzew
  • Mniej interpretowalny niż pojedyncze drzewo decyzyjne
  • Słabiej radzi sobie z bardzo dużymi zbiorami danych (tutaj wygrywają XGBoost, LightGBM, CatBoost)
  • Może być niestabilny przy małych zbiorach danych

Zastosowania

  • Finanse (wykrywanie fraudów, scoring kredytowy)
  • Medycyna (diagnoza, przewidywanie ryzyka)
  • Marketing i rekomendacje
  • Przewidywanie churnu klientów
  • Analiza obrazów (w połączeniu z innymi metodami)
  • Biologia i bioinformatyka

Random Forest a inne algorytmy

  • vs Drzewo decyzyjne – znacznie lepsza generalizacja
  • vs XGBoost / LightGBM – wolniejszy, ale prostszy i często wystarczająco dobry
  • vs Sieci Neuronowe – lepszy przy mniejszej ilości danych i łatwiejszy w interpretacji

Aktualny status (2026)

Mimo dominacji gradient boostingów (XGBoost, LightGBM, CatBoost) i głębokich sieci neuronowych, Random Forest nadal pozostaje jednym z najpopularniejszych algorytmów „out-of-the-box”. Jest często wybierany w konkursach Kaggle, przemyśle i sytuacjach, gdzie liczy się niezawodność, interpretowalność ważności cech oraz szybkość prototypowania. Nowoczesne implementacje (scikit-learn, cuML, Spark MLlib) oferują świetną wydajność nawet na dużych zbiorach.