Algorytm losowego lasu: kiedy używać i jak używać? [Z plusami i minusami]

Opublikowany: 2020-12-24

Data Science obejmuje szeroką gamę algorytmów zdolnych do rozwiązywania problemów związanych z klasyfikacją. Las losowy znajduje się zwykle na szczycie hierarchii klasyfikacji. Inne algorytmy obejmują: maszynę wektorów wsparcia, klasyfikator naiwnego odchylenia i drzewa decyzyjne.

Zanim zapoznamy się z algorytmem losowego lasu, najpierw zrozummy podstawowe działanie drzew decyzyjnych i sposób ich łączenia, aby utworzyć losowy las.

Spis treści

Drzewa decyzyjne

Algorytm drzewa decyzyjnego należy do kategorii algorytmów uczenia nadzorowanego. Celem drzewa decyzyjnego jest przewidzenie klasy lub wartości zmiennej docelowej na podstawie reguł opracowanych podczas procesu uczenia. Zaczynając od korzenia drzewa porównujemy wartość atrybutu root z punktem danych, który chcemy sklasyfikować i na podstawie porównania przeskakujemy do kolejnego węzła.

Idąc dalej, omówmy kilka ważnych terminów i ich znaczenie w postępowaniu z drzewami decyzyjnymi.

  1. Root Node : Jest to najwyższy węzeł drzewa, z którego następuje podział w celu utworzenia bardziej jednorodnych węzłów.
  2. Podział punktów danych : punkty danych są dzielone w sposób zmniejszający odchylenie standardowe po podziale.
  3. Zysk informacyjny : Zysk informacyjny to zmniejszenie odchylenia standardowego, które chcemy osiągnąć po podziale. Większa redukcja odchylenia standardowego oznacza bardziej jednorodne węzły.
  4. Entropia : Entropia to nieregularność występująca w węźle po dokonaniu podziału. Większa jednorodność w węźle oznacza mniejszą entropię.

Przeczytaj: Pytania do rozmowy kwalifikacyjnej na temat drzewa decyzyjnego

Potrzeba algorytmu losowego lasu

Algorytm Drzewa Decyzyjnego jest podatny na nadmierne dopasowanie, tj. wysoką dokładność danych treningowych i niską wydajność danych testowych. Dwie popularne metody zapobiegania nadmiernemu dopasowaniu danych to Przycinanie i Las losowy. Przycinanie odnosi się do zmniejszenia rozmiaru drzewa bez wpływu na ogólną dokładność drzewa.

Omówmy teraz algorytm losowego lasu.

Jedną z głównych zalet lasu losowego jest jego zdolność do wykorzystania zarówno w klasyfikacji, jak i w problemach regresji.

Jak sama nazwa wskazuje, las powstaje z połączenia kilku drzew. Podobnie algorytm losowego lasu łączy kilka algorytmów uczenia maszynowego (drzewa decyzyjne), aby uzyskać lepszą dokładność. Nazywa się to również uczeniem zespołowym. Tutaj niska korelacja między modelami pomaga wygenerować lepszą dokładność niż jakakolwiek z indywidualnych prognoz. Nawet jeśli niektóre drzewa generują fałszywe prognozy, większość z nich wygeneruje prawdziwe prognozy, dlatego ogólna dokładność modelu wzrasta.

Algorytmy losowego lasu można zaimplementować zarówno w Pythonie, jak i w języku R, podobnie jak inne algorytmy uczenia maszynowego.

Kiedy używać Random Forest, a kiedy innych modeli?

Przede wszystkim musimy zdecydować, czy problem jest liniowy czy nieliniowy. Następnie, jeśli problem jest liniowy, powinniśmy użyć prostej regresji liniowej w przypadku, gdy występuje tylko jedna cecha, a jeśli mamy wiele cech, powinniśmy zastosować wielokrotną regresję liniową. Jeśli jednak problem jest nieliniowy, powinniśmy zastosować regresję wielomianową, SVR, drzewo decyzyjne lub losowe

Las. Następnie przy użyciu bardzo odpowiednich technik, które oceniają wydajność modelu, takich jak k-fold Cross-Validation, Grid Search lub XGBoost, możemy wywnioskować właściwy model, który rozwiąże nasz problem.

Skąd mam wiedzieć, ile drzew powinienem użyć?

Każdemu początkującemu radziłbym określić liczbę drzew wymaganych przez eksperymenty. Zwykle zajmuje to mniej czasu niż faktyczne użycie technik, aby znaleźć najlepszą wartość poprzez dostrojenie i dostrojenie modelu. Eksperymentując z kilkoma wartościami hiperparametrów, takimi jak liczba drzew. Niemniej jednak, techniki takie jak Cover k-Fold Cross-Validation i Grid Search mogą być użyte, które są potężnymi metodami określania optymalnej wartości hiperparametru, jak tutaj liczba drzew.

Czy wartość p może być używana dla losowego lasu?

Tutaj wartość p będzie nieistotna w przypadku lasu losowego, ponieważ są to modele nieliniowe.

Parcianka

Drzewa decyzyjne są bardzo wrażliwe na dane, na których są szkolone, dlatego są podatne na Overfitting. Jednak losowy las wykorzystuje ten problem i umożliwia każdemu drzewu losowe pobieranie próbek ze zbioru danych w celu uzyskania różnych struktur drzewiastych. Ten proces jest znany jako workowanie.

Bagging nie oznacza tworzenia podzbioru danych treningowych. Oznacza to po prostu, że nadal zasilamy drzewo danymi uczącymi, ale o rozmiarze N. Zamiast oryginalnych danych, pobieramy próbkę o rozmiarze N (N punktów danych) z zastąpieniem.

Znaczenie funkcji

Algorytmy losowe lasu pozwalają nam określić ważność danej cechy i jej wpływ na predykcję. Oblicza wynik dla każdej funkcji po treningu i skaluje je w sposób, który sumuje je do jednego. Daje nam to wyobrażenie o tym, które funkcje należy porzucić, ponieważ nie wpływają one na cały proces przewidywania. Mając mniej funkcji, model będzie mniej skłonny paść ofiarą przesadnego dopasowania.

Hiperparametry

Użycie hiperparametrów zwiększa zdolność predykcyjną modelu lub przyspiesza model.

Na początek parametr n_estimator to liczba drzew, które algorytm buduje przed wykonaniem średniej prognozy. Wysoka wartość n_estimator oznacza zwiększoną wydajność przy wysokiej predykcji. Jednak jego wysoka wartość skraca również czas obliczeniowy modelu.

Innym hiperparametrem jest max_features, czyli całkowita liczba cech, które model uwzględnia przed podziałem na kolejne węzły.

Ponadto min_sample_leaf to minimalna liczba liści wymagana do podzielenia węzła wewnętrznego.

Wreszcie, random_state jest używany do generowania stałych danych wyjściowych, gdy wybrana jest określona wartość random_state wraz z tymi samymi hiperparametrami i danymi uczącymi.

Zalety i wady algorytmu losowego lasu

  1. Las losowy to bardzo wszechstronny algorytm zdolny do rozwiązywania zarówno zadań klasyfikacji, jak i regresji.
  2. Ponadto zaangażowane hiperparametry są łatwe do zrozumienia i zwykle ich wartości domyślne dają dobre przewidywanie.
  3. Losowy las rozwiązuje problem overfittingu, który występuje w drzewach decyzyjnych.
  4. Jednym z ograniczeń lasu losowego jest to, że zbyt wiele drzew może spowolnić przetwarzanie algorytmu, a tym samym uczynić go nieefektywnym do przewidywania danych w czasie rzeczywistym.

Przeczytaj także: Rodzaje algorytmów klasyfikacji

Wniosek

Algorytm losowego lasu to bardzo potężny algorytm o dużej dokładności. Jego rzeczywiste zastosowanie w obszarach bankowości inwestycyjnej, giełdy i witryn e-commerce sprawia, że ​​są one bardzo potężnym algorytmem do użycia. Jednak lepszą wydajność można osiągnąć za pomocą algorytmów sieci neuronowych, ale algorytmy te czasami stają się złożone, a ich opracowanie zajmuje więcej czasu.

Jeśli chcesz dowiedzieć się więcej o drzewie decyzyjnym, uczeniu maszynowym, sprawdź dyplom PG IIIT-B i upGrad w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznych szkoleń, ponad 30 studiów przypadków i zadania, status absolwentów IIIT-B, ponad 5 praktycznych praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.

Jakie są wady korzystania z algorytmów losowego lasu?

Random Forest to zaawansowany algorytm uczenia maszynowego. Wymaga wielu zasobów przetwarzania, ponieważ generuje wiele drzew, aby znaleźć wynik. Ponadto w porównaniu z innymi algorytmami, takimi jak metoda drzewa decyzyjnego, technika ta zajmuje dużo czasu na szkolenie. Gdy dostarczone dane są liniowe, losowa regresja lasu nie działa dobrze.

Jak działa algorytm losowego lasu?

Losowy las składa się z wielu różnych drzew decyzyjnych, podobnie jak las składa się z wielu drzew. Wyniki metody lasu losowego są faktycznie określane przez przewidywania drzew decyzyjnych. Metoda lasu losowego zmniejsza również ryzyko nadmiernego dopasowania danych. Losowa klasyfikacja lasów wykorzystuje strategię zespołową w celu uzyskania pożądanego rezultatu. Na podstawie danych uczących trenowane są różne drzewa decyzyjne. Ten zbiór danych zawiera obserwacje i cechy, które są wybierane losowo po podzieleniu węzłów.

Czym różni się drzewo decyzyjne od losowego lasu?

Losowy las to nic innego jak zbiór drzew decyzyjnych, co utrudnia zrozumienie. Losowy las jest trudniejszy do odczytania niż drzewo decyzyjne. W porównaniu z drzewami decyzyjnymi losowy las wymaga dłuższego czasu szkolenia. Jednak w przypadku ogromnego zbioru danych preferowany jest losowy las. Overfitting jest bardziej powszechny w drzewach decyzyjnych. Overfitting jest mniej prawdopodobny w losowych lasach, ponieważ używają one wielu drzew.