Random-Forest-Algorithmus: Wann und wie verwenden? [Mit Vor- und Nachteilen]

Veröffentlicht: 2020-12-24

Data Science umfasst eine breite Palette von Algorithmen, die in der Lage sind, Probleme im Zusammenhang mit der Klassifizierung zu lösen. Random Forest befindet sich normalerweise an der Spitze der Klassifizierungshierarchie. Andere Algorithmen umfassen Support Vector Machine, Naive Bias-Klassifikator und Entscheidungsbäume.

Bevor wir etwas über den Random-Forest-Algorithmus lernen, wollen wir zunächst die grundlegende Funktionsweise von Entscheidungsbäumen verstehen und wie sie kombiniert werden können, um einen Random Forest zu bilden.

Inhaltsverzeichnis

Entscheidungsbäume

Der Entscheidungsbaum-Algorithmus fällt unter die Kategorie der überwachten Lernalgorithmen. Das Ziel eines Entscheidungsbaums ist es, die Klasse oder den Wert der Zielvariablen basierend auf den während des Trainingsprozesses entwickelten Regeln vorherzusagen. Ausgehend von der Wurzel des Baums vergleichen wir den Wert des Wurzelattributs mit dem Datenpunkt, den wir klassifizieren möchten, und springen auf der Grundlage des Vergleichs zum nächsten Knoten.

Lassen Sie uns im Folgenden einige der wichtigen Begriffe und ihre Bedeutung im Umgang mit Entscheidungsbäumen diskutieren.

  1. Wurzelknoten : Dies ist der oberste Knoten des Baums, von wo aus die Teilung stattfindet, um homogenere Knoten zu bilden.
  2. Teilen von Datenpunkten : Datenpunkte werden so geteilt, dass die Standardabweichung nach der Teilung reduziert wird.
  3. Informationsgewinn : Der Informationsgewinn ist die Verringerung der Standardabweichung, die wir nach der Teilung erreichen möchten. Eine stärkere Verringerung der Standardabweichung bedeutet homogenere Knoten.
  4. Entropie : Entropie ist die Unregelmäßigkeit, die im Knoten vorhanden ist, nachdem die Teilung stattgefunden hat. Mehr Homogenität im Knoten bedeutet weniger Entropie.

Lesen Sie: Interviewfragen zum Entscheidungsbaum

Notwendigkeit eines Random-Forest-Algorithmus

Der Entscheidungsbaumalgorithmus ist anfällig für Überanpassung, dh hohe Genauigkeit bei Trainingsdaten und schlechte Leistung bei Testdaten. Zwei beliebte Methoden, um eine Überanpassung von Daten zu verhindern, sind Pruning und Random Forest. Das Beschneiden bezieht sich auf eine Verringerung der Baumgröße, ohne die Gesamtgenauigkeit des Baums zu beeinträchtigen.

Lassen Sie uns nun den Random-Forest-Algorithmus besprechen.

Ein großer Vorteil von Random Forest ist seine Fähigkeit, sowohl bei Klassifizierungs- als auch bei Regressionsproblemen verwendet zu werden.

Wie der Name schon sagt, entsteht ein Wald durch die Kombination mehrerer Bäume. In ähnlicher Weise kombiniert ein Random-Forest-Algorithmus mehrere maschinelle Lernalgorithmen (Entscheidungsbäume), um eine bessere Genauigkeit zu erzielen. Dies wird auch als Ensemble-Lernen bezeichnet. Hier trägt eine geringe Korrelation zwischen den Modellen dazu bei, eine bessere Genauigkeit zu erzielen als jede der einzelnen Vorhersagen. Selbst wenn einige Bäume falsche Vorhersagen erzeugen, wird eine Mehrheit von ihnen wahre Vorhersagen erzeugen, wodurch die Gesamtgenauigkeit des Modells zunimmt.

Random-Forest-Algorithmen können wie andere maschinelle Lernalgorithmen sowohl in Python als auch in R implementiert werden.

Wann verwendet man Random Forest und wann die anderen Modelle?

Zunächst müssen wir entscheiden, ob das Problem linear oder nichtlinear ist. Wenn das Problem linear ist, sollten wir die einfache lineare Regression verwenden, falls nur ein einzelnes Merkmal vorhanden ist, und wenn wir mehrere Merkmale haben, sollten wir uns für die multiple lineare Regression entscheiden. Wenn das Problem jedoch nicht linear ist, sollten wir Polynomial Regression, SVR, Decision Tree oder Random verwenden

Wald. Dann können wir mit sehr relevanten Techniken, die die Leistung des Modells bewerten, wie z. B. k-Fold Cross-Validation, Grid Search oder XGBoost, auf das richtige Modell schließen, das unser Problem löst.

Woher weiß ich, wie viele Bäume ich verwenden sollte?

Jedem Anfänger würde ich raten, die Anzahl der benötigten Bäume durch Ausprobieren zu ermitteln. Es dauert normalerweise weniger Zeit, als Techniken anzuwenden, um den besten Wert zu ermitteln, indem Sie Ihr Modell optimieren und optimieren. Durch Experimentieren mit mehreren Werten von Hyperparametern wie der Anzahl der Bäume. Dennoch können Techniken wie Cover k-Fold Cross-Validation und Grid Search verwendet werden, die leistungsstarke Methoden sind, um den optimalen Wert eines Hyperparameters zu bestimmen, wie hier die Anzahl der Bäume.

Kann der p-Wert für Random Forest verwendet werden?

Hier ist der p-Wert im Fall von Random Forest unbedeutend, da es sich um nichtlineare Modelle handelt.

Absacken

Entscheidungsbäume reagieren sehr sensibel auf die Daten, mit denen sie trainiert werden, und sind daher anfällig für Overfitting. Random Forest nutzt dieses Problem jedoch und ermöglicht es jedem Baum, zufällig Stichproben aus dem Dataset zu ziehen, um unterschiedliche Baumstrukturen zu erhalten. Dieser Vorgang wird als Bagging bezeichnet.

Bagging bedeutet nicht, eine Teilmenge der Trainingsdaten zu erstellen. Es bedeutet einfach, dass wir den Baum immer noch mit Trainingsdaten füttern, aber mit der Größe N. Anstelle der ursprünglichen Daten nehmen wir eine Stichprobe der Größe N (N Datenpunkte) mit Ersatz.

Feature-Bedeutung

Random-Forest-Algorithmen ermöglichen es uns, die Wichtigkeit eines bestimmten Merkmals und seinen Einfluss auf die Vorhersage zu bestimmen. Es berechnet die Punktzahl für jedes Feature nach dem Training und skaliert sie so, dass ihre Summierung zu eins addiert. Dies gibt uns eine Vorstellung davon, welche Funktion entfernt werden sollte, da sie sich nicht auf den gesamten Vorhersageprozess auswirkt. Mit geringeren Funktionen wird das Modell weniger wahrscheinlich Opfer von Overfitting werden.

Hyperparameter

Die Verwendung von Hyperparametern erhöht entweder die Vorhersagefähigkeit des Modells oder macht das Modell schneller.

Zunächst ist der Parameter n_estimator die Anzahl der Bäume, die der Algorithmus erstellt, bevor er die durchschnittliche Vorhersage nimmt. Ein hoher Wert von n_estimator bedeutet eine verbesserte Leistung mit hoher Vorhersage. Sein hoher Wert verringert jedoch auch die Rechenzeit des Modells.

Ein weiterer Hyperparameter ist max_features, das ist die Gesamtzahl der Merkmale, die das Modell berücksichtigt, bevor es in nachfolgende Knoten aufgeteilt wird.

Außerdem ist min_sample_leaf die minimale Anzahl von Blättern, die erforderlich ist, um den internen Knoten aufzuteilen.

Schließlich wird random_state verwendet, um eine feste Ausgabe zu erzeugen, wenn ein bestimmter Wert von random_state zusammen mit denselben Hyperparametern und den Trainingsdaten ausgewählt wird.

Vor- und Nachteile des Random-Forest-Algorithmus

  1. Random Forest ist ein sehr vielseitiger Algorithmus, der sowohl Klassifizierungs- als auch Regressionsaufgaben lösen kann.
  2. Außerdem sind die beteiligten Hyperparameter leicht zu verstehen und ihre Standardwerte führen normalerweise zu einer guten Vorhersage.
  3. Random Forest löst das Problem der Überanpassung, das in Entscheidungsbäumen auftritt.
  4. Eine Einschränkung von Random Forest besteht darin, dass zu viele Bäume die Verarbeitung des Algorithmus verlangsamen können, wodurch er für die Vorhersage von Echtzeitdaten unwirksam wird.

Lesen Sie auch: Arten von Klassifizierungsalgorithmen

Fazit

Der Random-Forest-Algorithmus ist ein sehr leistungsfähiger Algorithmus mit hoher Genauigkeit. Seine reale Anwendung in den Bereichen Investmentbanking, Börse und E-Commerce-Websites macht sie zu einem sehr leistungsfähigen Algorithmus. Eine bessere Leistung kann jedoch durch die Verwendung von neuronalen Netzwerkalgorithmen erreicht werden, aber diese Algorithmen neigen manchmal dazu, komplex zu werden und mehr Zeit für die Entwicklung zu benötigen.

Wenn Sie mehr über den Entscheidungsbaum Machine Learning erfahren möchten, sehen Sie sich das PG Diploma in Machine Learning & AI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben, IIIT-B-Alumni-Status, mehr als 5 praktische praktische Abschlussprojekte und Arbeitsunterstützung bei Top-Unternehmen.

Welche Nachteile hat die Verwendung von Random-Forest-Algorithmen?

Random Forest ist ein ausgeklügelter Algorithmus für maschinelles Lernen. Es erfordert viele Verarbeitungsressourcen, da es viele Bäume generiert, um das Ergebnis zu finden. Darüber hinaus erfordert diese Technik im Vergleich zu anderen Algorithmen wie dem Entscheidungsbaumverfahren viel Trainingszeit. Wenn die bereitgestellten Daten linear sind, funktioniert die Random-Forest-Regression nicht gut.

Wie funktioniert ein Random-Forest-Algorithmus?

Eine zufällige Gesamtstruktur besteht aus vielen verschiedenen Entscheidungsbäumen, ähnlich wie eine Gesamtstruktur aus zahlreichen Bäumen besteht. Die Ergebnisse der Random-Forest-Methode werden tatsächlich durch die Vorhersagen der Entscheidungsbäume bestimmt. Die Random-Forest-Methode verringert auch die Wahrscheinlichkeit einer Datenüberanpassung. Die Random-Forest-Klassifizierung verwendet eine Ensemble-Strategie, um das gewünschte Ergebnis zu erzielen. Mit den Trainingsdaten werden verschiedene Entscheidungsbäume trainiert. Dieser Datensatz umfasst Beobachtungen und Merkmale, die zufällig ausgewählt werden, nachdem die Knoten geteilt wurden.

Wie unterscheidet sich ein Entscheidungsbaum von einem Random Forest?

Ein Random Forest ist nichts anderes als eine Sammlung von Entscheidungsbäumen, was es schwierig macht, ihn zu verstehen. Ein Random Forest ist schwieriger zu lesen als ein Entscheidungsbaum. Im Vergleich zu Entscheidungsbäumen erfordert Random Forest mehr Trainingszeit. Beim Umgang mit einem großen Datensatz wird jedoch Random Forest bevorzugt. Overfitting ist häufiger in Entscheidungsbäumen. Overfitting ist in zufälligen Wäldern weniger wahrscheinlich, da sie zahlreiche Bäume verwenden.