Las losowy jest zbiorem drzew klasyfikacyjnych o podziałach binarnych.
Dla danej obserwacji, wyrażonej jako wektor wejściowy, każde z drzew zwraca decyzję lub krotkę prawdopodobieństw klasyfikacji. Decyzje (prawdopodobieństwa) z drzew wchodzących w skład lasu są traktowane jako głosy, i jako wynik zwracana jest ta decyzja, która otrzymała najwięcej głosów (której średnie prawdopodobieństwo było najwyższe). Głosy mogą być ważone lub nie zależnie od wybranej przez użytkownika metody głosowania.
Algorytm lasów losowych tworzy na zbiorze treningowym określoną przez użytkownika liczbę drzew klasyfikacyjnych. Aby zwiększyć przewagę lasu nad pojedynczym drzewem, pożądane jest zróżnicowanie (wariancja) drzew wchodzących w jego skład. Wariancja ta jest osiągana na następujące sposoby:
Losowy wybór zbioru treningowego dla każdego drzewa. Zbiór treningowy dla pojedynczego drzewa jest uzyskiwany w następujący sposób: niech N oznacza liczbę obserwacji w zbiorze treningowym dla całego lasu. Ze zbioru treningowego dla całego lasu losujemy ze zwracaniem N obserwacji. Uzyskana w ten sposób N-elementowa próba jest zbiorem treningowym dla pojedynczego drzewa. Obserwacje, które do niej nie weszły, określa się mianem danych out-of-bag (oob) i są one używane później do oszacowania błędu klasyfikacji.
Losowy lub deterministyczny wybór zmiennych, na których dokonane zostaną cięcia (splits), zarówno dla całego drzewa jak i pojedynczego cięcia.
Losowy wybór metody cięcia dla każdego drzewa.
Losowe zróżnicowanie minimalnego rozmiaru węzła (w zadanych granicach) dla każdego drzewa.
O sposobach wprowadzania wariancji do drzew składających się na las użytkownik decyduje za pomocą modyfikacji parametrów modelu. Algorytm tworzy każde drzewo indywidualnie zgodnie z parametrami określonymi w obiekcie modelu (por. sekcję Drzewa klasyfikacyjne – Algorytm budowy drzewa). Każde z powstających drzew jest drzewem binarnym, na którym nie jest wykonywana operacja przycinania (pruning).
Dla każdego z drzew wyliczany jest błąd klasyfikacji oob. W trakcie losowania zbioru treningowego dla pojedynczego drzewa pominiętych zostaje ok. 1/3 obserwacji z wejściowego zbioru (dane oob). Zbiór danych oob jest używany do wyznaczenia nieobciążonego estymatora błędu klasyfikacji dla drzewa.
Ocena jakości klasyfikacji dla pojedynczego drzewa na danych oob jest używana do wyznaczenia wagi drzewa w końcowym procesie głosowania (por. opcję Weighting Stat we właściwościach obiektu SmartTreeSettings).
Oszacowania istotności zmiennych dla każdego drzewa są wyliczane zgodnie z metodą wykorzystywaną przez moduł Classification Trees.