Czym są lasy losowe i jak działają?

Poznaj, czym są lasy losowe, jak działają oraz gdzie znajdują zastosowanie. Analiza budowy, zalet i porównanie z innymi algorytmami ML.
01 lutego 2026
blog
Poziom:

Artykuł przeznaczony dla czytelników, którzy chcą szybko zrozumieć temat i wynieść z niego praktyczne wnioski.

Z tego artykułu dowiesz się

  • Jakie informacje i umiejętności zdobędziesz po przeczytaniu tego artykułu?
  • Jakie kluczowe zagadnienia i wnioski przedstawia artykuł?
  • Jakie praktyczne wskazówki lub kroki działania wynikają z treści artykułu?

Wprowadzenie do lasów losowych

Lasy losowe (ang. Random Forest) to zaawansowana metoda uczenia maszynowego, która opiera swoje działanie na zbiorze drzew decyzyjnych. Technika ta należy do kategorii algorytmów zespołowych (ang. ensemble learning), co oznacza, że zamiast polegać na pojedynczym modelu, wykorzystuje wiele modeli jednocześnie, aby uzyskać bardziej trafne i stabilne prognozy.

Ideą działania lasów losowych jest połączenie wyników wielu niezależnych drzew decyzyjnych, które uczą się na różnych fragmentach danych i z użyciem losowych podzbiorów cech. Dzięki temu algorytm ten jest bardziej odporny na przeuczenie (ang. overfitting) i lepiej radzi sobie z danymi o wysokiej złożoności.

Lasy losowe mogą być stosowane zarówno w problemach klasyfikacji (np. rozpoznawanie gatunków roślin czy diagnoza chorób), jak i regresji (np. przewidywanie cen nieruchomości czy prognozowanie sprzedaży). Są one szczególnie cenione za swoją skuteczność przy minimalnym dostrajaniu parametrów oraz za zdolność do pracy z danymi zawierającymi szumy i brakujące wartości.

W porównaniu z prostymi drzewami decyzyjnymi, lasy losowe oferują większą precyzję i ogólną odporność na błędy wynikające z danych treningowych. To czyni je popularnym wyborem w wielu dziedzinach, od medycyny i biologii po finanse i inżynierię.

Podstawy działania algorytmu lasów losowych

Lasy losowe (ang. Random Forest) to popularna technika uczenia maszynowego, zaliczana do metod zespołowych. Jej główną ideą jest połączenie wielu drzew decyzyjnych w jeden spójny model, który jest bardziej odporny na błędy i uogólnia się lepiej niż pojedyncze drzewo.

Algorytm działa w oparciu o zasadę baggingu (bootstrap aggregating), czyli tworzenia wielu różnych wersji tego samego modelu poprzez trenowanie ich na różnych losowych podzbiorach danych treningowych. Dzięki temu każdy z modeli (w tym przypadku — drzewo decyzyjne) uczy się na nieco innych danych, co sprzyja różnorodności predykcji.

Podczas działania lasu losowego:

  • Tworzonych jest wiele drzew decyzyjnych na podstawie losowych próbek danych.
  • Każde drzewo podejmuje własną decyzję (np. klasyfikację lub prognozę).
  • Końcowy wynik uzyskiwany jest poprzez zagłosowanie większości (dla klasyfikacji) lub uśrednienie (dla regresji).

Kluczową cechą lasów losowych jest wykorzystanie losowości zarówno w wyborze próbek danych, jak i w doborze cech, które każde drzewo rozważa przy podejmowaniu decyzji. To znacznie zwiększa różnorodność modeli i poprawia ich ogólną dokładność.

Wielu uczestników szkoleń Cognity zgłaszało potrzebę pogłębienia tego tematu – odpowiadamy na tę potrzebę także na blogu.

Lasy losowe są szczególnie przydatne w problemach klasyfikacyjnych i regresyjnych, gdzie dane są wysokowymiarowe, zawierają szum lub brakuje im liniowej zależności. Cechują się również odpornością na przeuczenie i dobrze radzą sobie z brakującymi danymi czy cechami o różnej skali.

Budowa drzewa decyzyjnego jako komponentu lasu

Drzewo decyzyjne jest podstawowym budulcem lasu losowego, czyli zespołu modeli uczących się opartych na tej właśnie strukturze. Każde drzewo działa niezależnie i odpowiada za podejmowanie decyzji na podstawie zestawu cech wejściowych. Kluczową cechą drzewa decyzyjnego jest jego hierarchiczna budowa, w której dane są dzielone na mniejsze podzbiory wzdłuż gałęzi, prowadząc ostatecznie do decyzji w liściach.

Proces budowy drzewa decyzyjnego polega na iteracyjnym podziale danych na podstawie wartości wybranych cech – tak, aby maksymalnie zwiększyć homogeniczność wynikowych podzbiorów. Podziały te są dokonywane na wierzchołkach (węzłach) drzewa, a końcowe decyzje są przypisane do liści.

Kluczowe komponenty drzewa decyzyjnego:

  • Korzeń (root): początkowy węzeł, który reprezentuje cały zbiór danych.
  • Węzły wewnętrzne: punkty decyzyjne, gdzie dane są dzielone według wybranych cech.
  • Gałęzie (krawędzie): ścieżki prowadzące od jednego węzła do drugiego na podstawie spełnienia warunku.
  • Liście: końcowe węzły, w których przypisywana jest etykieta klasy lub wartość predykcji.

W kontekście lasów losowych, każde drzewo jest budowane na innym podzestawie danych (z zastosowaniem techniki bootstrap) oraz często tylko na części dostępnych cech. Dzięki temu poszczególne drzewa różnią się od siebie, co zwiększa różnorodność całego modelu i pozwala uzyskać lepszą generalizację. Jeśli chcesz dowiedzieć się więcej o tym, jak efektywnie budować i optymalizować modele uczenia maszynowego, sprawdź Kurs Machine Learning i Deep Learning w języku Python – modelowanie, optymalizacja, analiza danych.

Poniższa tabela przedstawia uproszczone porównanie między pojedynczym drzewem decyzyjnym a drzewem wchodzącym w skład lasu losowego:

Cecha Pojedyncze drzewo Drzewo w lesie losowym
Źródło danych Cały zbiór treningowy Losowy podzbiór (bootstrap)
Wybór cech Wszystkie dostępne cechy Losowa podgrupa cech na każdym podziale
Cel Stworzenie najlepszego możliwego drzewa Wprowadzenie różnorodności do całego zespołu
Ryzyko przeuczenia Wysokie Zmniejszone dzięki uśrednianiu wyników wielu drzew

Oto prosty przykład kodu w Pythonie, który tworzy pojedyncze drzewo decyzyjne przy użyciu biblioteki scikit-learn:

from sklearn.tree import DecisionTreeClassifier

# załadowanie danych (X: cechy, y: etykiety)
clf = DecisionTreeClassifier()
clf.fit(X, y)

# predykcja nowych danych
predictions = clf.predict(X_new)

W kontekście lasów losowych, wiele takich drzew jest budowanych równolegle i ich wyniki są agregowane poprzez głosowanie (dla klasyfikacji) lub uśrednianie (dla regresji).

Zalety i ograniczenia lasów losowych

Lasy losowe (ang. Random Forest) to popularna technika uczenia maszynowego, ceniona za swoją skuteczność i wszechstronność. Choć oferują wiele korzyści, nie są pozbawione ograniczeń. Poniżej zestawiono główne zalety oraz potencjalne wady tego algorytmu. W Cognity omawiamy to zagadnienie zarówno od strony technicznej, jak i praktycznej – zgodnie z realiami pracy uczestników.

Zalety

  • Wysoka dokładność predykcji: Dzięki agregacji wielu drzew decyzyjnych, lasy losowe osiągają bardzo dobre wyniki w klasyfikacji i regresji.
  • Odporność na przeuczenie: Mechanizm losowego wyboru cech i baggingu (bootstrap aggregating) sprawia, że model generalizuje lepiej niż pojedyncze drzewo decyzyjne.
  • Możliwość pracy z dużymi zbiorami danych: Algorytm dobrze radzi sobie z dużą liczbą przykładów i zmiennych wejściowych.
  • Obsługa danych z brakującymi wartościami: Lasy losowe mogą częściowo radzić sobie z brakującymi danymi bez konieczności wcześniejszego ich usuwania.
  • Automatyczne szacowanie ważności cech: Model może wskazać, które cechy są najbardziej wpływowe w podejmowaniu decyzji.

Ograniczenia

  • Trudniejsza interpretacja: W przeciwieństwie do pojedynczego drzewa decyzyjnego, las składający się z wielu drzew jest trudniejszy do zrozumienia i wyjaśnienia.
  • Większe zużycie zasobów: Trenowanie i predykcja w lesie losowym mogą wymagać więcej czasu i pamięci w porównaniu do prostszych modeli.
  • Potencjalna nadmierna złożoność: Przy bardzo dużej liczbie drzew i cech, model może stać się powolny lub zbyt złożony dla niektórych zastosowań w czasie rzeczywistym.
  • Mniejsze korzyści przy bardzo dużej korelacji cech: Jeśli wiele zmiennych jest silnie skorelowanych, losowe wybieranie cech może nie wnieść dodatkowej różnorodności do drzew.

Porównanie zalet i ograniczeń

Aspekt Zalety Ograniczenia
Dokładność Wysoka, dzięki uśrednianiu wyników wielu drzew Może prowadzić do skomplikowanego modelu
Skalowalność Dobrze działa na dużych zbiorach danych Wysokie zapotrzebowanie na pamięć i czas obliczeń
Interpretowalność Trudna analiza wewnętrznej logiki modelu
Odporność na szum Wysoka dzięki losowości i uśrednianiu Może nie rozpoznawać subtelnych wzorców

Lasy losowe sprawdzają się w wielu praktycznych zastosowaniach, szczególnie tam, gdzie istotna jest niezawodność i jakość predykcji. Jednakże w sytuacjach, gdzie kluczowa jest interpretowalność lub ograniczone zasoby obliczeniowe, mogą nie być najlepszym wyborem.

Przykłady zastosowania lasów losowych w praktyce

Lasy losowe są wszechstronnym narzędziem uczenia maszynowego, które znajduje zastosowanie w różnych dziedzinach – od medycyny, przez finanse, aż po inżynierię i marketing. Dzięki swojej zdolności do radzenia sobie z danymi o różnej strukturze i odporności na przeuczenie, są chętnie wykorzystywane zarówno do klasyfikacji, jak i regresji. Jeśli chcesz nauczyć się, jak skutecznie wykorzystywać lasy losowe w praktyce, sprawdź Kurs Machine Learning dla programistów.

  • Diagnostyka medyczna: Lasy losowe są stosowane do klasyfikacji chorób na podstawie objawów lub wyników badań. Przykładami mogą być predykcja wystąpienia cukrzycy czy analiza obrazów medycznych pod kątem obecności zmian nowotworowych.
  • Finanse: W sektorze finansowym algorytm wspomaga m.in. ocenę ryzyka kredytowego, wykrywanie oszustw transakcyjnych czy prognozowanie kursów akcji.
  • Marketing i analiza klientów: Lasy losowe służą do segmentacji klientów, oceny skuteczności kampanii marketingowych oraz przewidywania zachowań zakupowych.
  • Inżynieria i przemysł: Algorytm znajduje zastosowanie w przewidywaniu awarii maszyn, kontroli jakości produktów czy analizie danych sensorycznych w systemach automatyki.
  • Ekologia i nauki przyrodnicze: Używany do przewidywania zasięgu występowania gatunków, analizy zmian środowiskowych lub klasyfikacji typów siedlisk.

Poniższa tabela przedstawia przykładowe zastosowania lasów losowych w różnych dziedzinach wraz z typem zadania:

Dziedzina Przykład zastosowania Typ zadania
Medycyna Predykcja choroby na podstawie objawów Klasyfikacja
Finanse Ocena zdolności kredytowej klienta Klasyfikacja
Marketing Segmentacja klientów Klasyfikacja
Inżynieria Prognozowanie awarii maszyny Regresja
Ekologia Szacowanie liczebności gatunku na danym obszarze Regresja

Oto prosty przykład użycia lasów losowych w Pythonie z biblioteką scikit-learn:

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

# Załaduj dane
X, y = load_iris(return_X_y=True)

# Stwórz model i dopasuj go do danych
model = RandomForestClassifier(n_estimators=100)
model.fit(X, y)

# Predykcja na podstawie nowych danych
prediction = model.predict([[5.1, 3.5, 1.4, 0.2]])
print(prediction)

Praktyczne zastosowania lasów losowych pokazują, że są one nie tylko skuteczne, ale i elastyczne – sprawdzają się tam, gdzie inne algorytmy mogą mieć trudności z interpretacją danych lub generalizacją.

Wizualizacje działania i wyników modelu

Wizualizacja działania lasów losowych pozwala lepiej zrozumieć, jak model podejmuje decyzje oraz jaką uzyskuje skuteczność. Choć same drzewa decyzyjne składające się na las mogą być trudne do jednoznacznego przedstawienia graficznie (ze względu na ich liczbę i złożoność), istnieje wiele technik wizualnych, które pomagają analizować zarówno proces uczenia, jak i wyniki predykcji.

1. Macierz pomyłek (confusion matrix)

Jest to jedno z częściej stosowanych narzędzi do oceny klasyfikatorów. Pokazuje liczbę poprawnych i błędnych klasyfikacji dla każdej klasy.

from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
import matplotlib.pyplot as plt

y_true = [0, 1, 2, 2, 0]
y_pred = [0, 0, 2, 2, 1]
cm = confusion_matrix(y_true, y_pred)
disp = ConfusionMatrixDisplay(confusion_matrix=cm)
disp.plot()
plt.show()

2. Wykresy ważności cech (feature importance)

Lasy losowe pozwalają łatwo uzyskać informację, które zmienne wejściowe miały największy wpływ na decyzje modelu. To szczególnie przydatne w analizach eksploracyjnych i selekcji cech.

importances = model.feature_importances_
features = X.columns

plt.barh(features, importances)
plt.xlabel("Ważność cechy")
plt.title("Istotność cech w modelu lasu losowego")
plt.show()

3. Wykresy ROC i AUC

Dla problemów klasyfikacyjnych binarnych stosuje się wykres ROC (Receiver Operating Characteristic), który pokazuje relację między czułością a specyficznością modelu.

from sklearn.metrics import roc_curve, auc

fpr, tpr, _ = roc_curve(y_true, y_scores)
roc_auc = auc(fpr, tpr)

plt.plot(fpr, tpr, label=f"AUC = {roc_auc:.2f}")
plt.plot([0, 1], [0, 1], linestyle='--')
plt.xlabel("False Positive Rate")
plt.ylabel("True Positive Rate")
plt.title("Wykres ROC")
plt.legend()
plt.show()

4. Rzut t-SNE lub PCA

Do wizualizacji rozkładu klas lub wyników predykcji w przestrzeni cech stosuje się także redukcję wymiarowości, np. t-SNE lub PCA. Pomaga to zobaczyć, jak dobrze model oddziela różne klasy.

5. Porównanie metryk w tabeli

Metryka Opis Zastosowanie
Accuracy Odsetek poprawnych klasyfikacji Ogólna skuteczność modelu
Precision Liczba prawidłowych pozytywnych predykcji / Wszystkie pozytywne predykcje Ważne przy nierównych klasach
Recall Liczba prawidłowych pozytywnych predykcji / Wszystkie rzeczywiste pozytywne przypadki Istotne przy minimalizacji fałszywych negatywów
F1-score Harmoniczna średnia precyzji i recall Balans między precyzją a czułością

Wizualizacje są nieocenionym narzędziem w analizie modeli lasów losowych – zarówno na etapie uczenia, jak i oceny predykcji. Pozwalają identyfikować silne i słabe strony modelu oraz lepiej interpretować jego działanie.

Porównanie z innymi algorytmami uczenia maszynowego

Lasy losowe to jeden z popularniejszych algorytmów uczenia maszynowego stosowanych przede wszystkim w zadaniach klasyfikacji i regresji. Choć charakteryzują się wysoką skutecznością i odpornością na przeuczenie, nie są jedynym rozwiązaniem dostępnym dla analityków danych. W porównaniu z innymi algorytmami, takimi jak drzewa decyzyjne, regresja logistyczna, maszyny wektorów nośnych (SVM), k-najbliższych sąsiadów (k-NN) czy sieci neuronowe, lasy losowe wyróżniają się kilkoma cechami.

  • Drzewa decyzyjne: Lasy losowe bazują na wielu drzewach decyzyjnych, co zapewnia większą stabilność i dokładność niż pojedyncze drzewo, które może być podatne na błędy i nadmierne dopasowanie.
  • Regresja logistyczna: W porównaniu do regresji logistycznej, lasy losowe lepiej radzą sobie z danymi nieliniowymi oraz większą liczbą cech, szczególnie gdy relacje między zmiennymi są złożone.
  • SVM: Maszyny wektorów nośnych mogą oferować wysoką skuteczność w zadaniach klasyfikacyjnych, zwłaszcza przy dobrze dobranych funkcjach jądra, jednak są bardziej wrażliwe na dobór parametrów i skalowanie danych niż lasy losowe.
  • k-NN: Algorytm k-najbliższych sąsiadów jest prosty i intuicyjny, ale jego skuteczność spada w przypadku dużych zbiorów danych i wysokiej liczby cech (tzw. przekleństwo wymiarowości). Lasy losowe lepiej radzą sobie z takimi wyzwaniami.
  • Sieci neuronowe: Sieci neuronowe mogą przewyższać lasy losowe w zadaniach wymagających wykrywania złożonych wzorców, np. w analizie obrazów czy dźwięku, jednak ich trenowanie jest bardziej zasobożerne, a interpretacja wyników – trudniejsza.

Wybór odpowiedniego algorytmu zależy od rodzaju danych, celu analizy oraz dostępnych zasobów obliczeniowych. Lasy losowe stanowią solidny kompromis pomiędzy dokładnością a prostotą użycia, co czyni je atrakcyjnym narzędziem w wielu zastosowaniach.

Podsumowanie i dalsze kierunki nauki

Lasy losowe to potężne narzędzie w arsenale metod uczenia maszynowego. Wyróżniają się zdolnością do przetwarzania dużych zbiorów danych o złożonej strukturze i zapewniania stabilnych, odpornych na przeuczenie wyników. Ich działanie opiera się na koncepcji łączenia wielu drzew decyzyjnych w jeden model, dzięki czemu eliminują one słabości pojedynczych drzew, zwiększając jednocześnie dokładność predykcji.

Lasy losowe świetnie sprawdzają się nie tylko w klasyfikacji, ale również w regresji, co czyni je uniwersalnym algorytmem dla wielu zastosowań – od wykrywania fraudów, przez analizę obrazów, po prognozowanie danych ekonomicznych.

Dzięki swojej interpretowalności, relatywnie małej liczbie parametrów do strojenia i dobrej wydajności, technika ta jest często wybierana zarówno przez początkujących, jak i doświadczonych specjalistów w dziedzinie analizy danych.

Dalsza eksploracja tematu pozwoli zrozumieć, jak dokładnie działa mechanizm tworzenia drzew decyzyjnych w tym algorytmie, jakie są jego mocne i słabe strony oraz w jaki sposób można efektywnie wykorzystać lasy losowe w rzeczywistych projektach analitycznych. W Cognity łączymy teorię z praktyką – dlatego ten temat rozwijamy także w formie ćwiczeń na szkoleniach.

Pogłęb swoją wiedzę na temat lasów losowych

Lasy losowe to nie tylko potężne narzędzie w analizie danych, ale także temat, który warto zgłębiać, aby w pełni wykorzystać jego możliwości w praktyce. Jeśli czujesz, że chciałbyś lepiej zrozumieć, jak działa ten algorytm, nauczyć się efektywnego wdrażania go w swoich projektach lub zobaczyć przykłady zastosowań w różnych branżach, zapraszamy do skorzystania z naszych dedykowanych szkoleń. Oferujemy kompleksowe warsztaty prowadzone przez ekspertów, dostosowane zarówno dla osób początkujących, jak i zaawansowanych użytkowników. Zainwestuj w swoją wiedzę i umiejętności, aby zyskać przewagę na rynku pracy lub usprawnić proces analizy danych w swojej firmie. Zainteresowanych prosimy o kontakt pod numerem telefonu: +48 577 136 633 lub adresem e-mail: biuro@cognity.pl. Razem odkryjemy, jak szerokie możliwości kryją się w technikach uczenia maszynowego!

icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments