Alles, was Sie über die Optimierung von Random-Forest-Algorithmen wissen müssen
Veröffentlicht: 2020-12-22Angenommen, Sie haben ein maschinelles Lernprogramm erstellt und das Random-Forest-Modell zum Trainieren verwendet. Die Ausgabe/das Ergebnis des Programms ist jedoch nicht so genau, wie Sie es sich wünschen. Also, was machst du?
Es gibt drei Methoden zur Verbesserung eines maschinellen Lernmodells, um die Ausgabe eines maschinellen Lernprogramms zu verbessern:
- Verbessern Sie die Qualität der Eingabedaten und das Feature-Engineering
- Hyperparameter-Tuning des Algorithmus
- Verwendung verschiedener Algorithmen
Was aber, wenn Sie bereits alle verfügbaren Datenquellen genutzt haben? Der nächste logische Schritt ist das Hyperparameter-Tuning. Wenn Sie also ein maschinelles Lernprogramm mit einem Random-Forest-Modell erstellt haben, die beste Datenquelle verwendet haben und die Ausgabe des Programms weiter verbessern möchten, sollten Sie sich für Random-Forest-Hyperparameter-Tuning entscheiden .
Bevor wir uns mit dem Hyperparameter-Tuning von Random Forests befassen , werfen wir zunächst einen Blick auf Hyperparameter und das Hyperparameter-Tuning im Allgemeinen.
Inhaltsverzeichnis
Was sind Hyperparameter?
Im Zusammenhang mit maschinellem Lernen sind Hyperparameter Parameter, deren Wert verwendet wird, um den Lernprozess des Modells zu steuern. Sie sind außerhalb des Modells und ihre Werte können nicht anhand von Daten geschätzt werden.
Für die Hyperparameter-Abstimmung der zufälligen Gesamtstruktur umfassen die Hyperparameter die Anzahl der Entscheidungsbäume und die Anzahl der Features, die von jedem Baum während der Knotenaufteilung berücksichtigt werden.

Was ist Hyperparameter-Tuning?
Hyperparameter-Tuning ist der Prozess der Suche nach einem idealen Satz von Hyperparametern für ein maschinelles Lernproblem.
Nachdem wir nun gesehen haben, was Hyperparameter und Hyperparameter-Tuning sind, werfen wir einen Blick auf Hyperparameter in einem Random Forest und Random Forest Hyperparameter Tuning .
Lesen Sie: Interviewfragen zum Entscheidungsbaum
Was ist Random-Forest-Hyperparameter-Tuning?
Um zu verstehen, was Random-Forest-Hyperparameter-Tuning ist, werfen wir einen Blick auf fünf Hyperparameter und das Hyperparameter-Tuning für jeden.
Hyperparameter 1: max_tiefe
max_depth ist der längste Pfad zwischen dem Wurzelknoten und dem Blattknoten in einem Baum in einem Random-Forest-Algorithmus. Indem wir diesen Hyperparameter optimieren, können wir die Tiefe begrenzen, bis zu der der Baum im Random-Forest-Algorithmus wachsen soll. Dieser Hyperparameter reduziert das Wachstum des Entscheidungsbaums, indem er auf Makroebene arbeitet.
Hyperparameter 2: max_terminal_nodes
Dieser Hyperparameter schränkt das Wachstum eines Entscheidungsbaums in der zufälligen Gesamtstruktur ein, indem er eine Bedingung für das Aufteilen von Knoten im Baum festlegt. Das Aufteilen der Knoten wird beendet und das Wachstum des Baums wird beendet, wenn es nach dem Aufteilen mehr Endknoten als die angegebene Anzahl gibt.
Nehmen wir zum Beispiel an, dass wir einen einzelnen Knoten im Baum haben und die maximale Endknotenzahl auf vier gesetzt ist. Da es zunächst nur einen Knoten gibt, wird der Knoten geteilt und der Baum wächst weiter. Nachdem die Teilung die maximale Grenze von vier erreicht hat, wird der Entscheidungsbaum nicht weiter wachsen, da die Teilung beendet wird. Die Verwendung von max_terminal_nodes-Hyperparameter-Tuning hilft, eine Überanpassung zu verhindern. Wenn der Wert der Abstimmung jedoch sehr gering ist, wird der Wald wahrscheinlich unterpassen.
Related Read: Klassifizierung von Entscheidungsbäumen
Hyperparameter 3: n_estimators
Ein Data Scientist steht immer vor dem Dilemma, wie viele Entscheidungsbäume er berücksichtigen muss. Man kann sagen, dass die Wahl einer größeren Anzahl von Bäumen der richtige Weg ist. Dies mag zutreffen, erhöht aber auch die zeitliche Komplexität des Random-Forest-Algorithmus.
Mit dem n_estimators-Hyperparameter-Tuning können wir die Anzahl der Bäume im Random-Forest-Modell bestimmen. Der Standardwert des Parameters n_estimators ist zehn. Das bedeutet, dass standardmäßig zehn verschiedene Entscheidungsbäume konstruiert werden. Durch Einstellen dieses Hyperparameters können wir die Anzahl der zu erstellenden Bäume ändern.

Hyperparameter 4: max_features
Mit dieser Hyperparameter-Abstimmung können wir die Anzahl der Funktionen festlegen, die jedem Baum im Wald bereitgestellt werden sollen. Im Allgemeinen ist die Gesamtleistung des Modells am höchsten, wenn der Wert von max features auf sechs eingestellt ist. Sie können den Parameterwert für max. Features jedoch auch auf den Standardwert festlegen, der die Quadratwurzel der Anzahl der im Dataset vorhandenen Features ist.
Hyperparameter 5: min_samples_split
Diese Hyperparameter-Abstimmung entscheidet über die minimale Anzahl von Abtastwerten, die zum Teilen eines internen Blattknotens erforderlich sind. Standardmäßig ist der Wert dieses Parameters zwei. Dies bedeutet, dass zum Teilen eines internen Knotens mindestens zwei Proben vorhanden sein müssen.
Wie wird Random Forest Hyperparameter-Tuning durchgeführt?
Sie müssen die Random-Forest-Hyperparameteroptimierung manuell durchführen, indem Sie die Funktion aufrufen, die das Modell erstellt. Random-Forest-Hyperparameter-Tuning ist eher ein experimenteller als ein theoretischer Ansatz. Daher müssen Sie möglicherweise verschiedene Kombinationen der Hyperparameter-Abstimmung ausprobieren und die Leistung jeder einzelnen bewerten, bevor Sie sich für eine entscheiden.
Angenommen, Sie müssen die Anzahl der Schätzer und die minimale Aufteilung eines Baums in einem Random-Forest-Algorithmus optimieren. Daher können Sie den folgenden Befehl verwenden, um das Hyperparameter-Tuning durchzuführen:

forest = RandomForestClassifier (random_state = 1, n_estimators = 20, min_samples_split = 2)
Im obigen Beispiel wird die Anzahl der Schätzer von ihrem Standardwert von zehn auf zwanzig geändert. Anstelle von zehn Entscheidungsbäumen erstellt der Algorithmus also zwanzig Bäume im Random Forest. In ähnlicher Weise wird ein interner Blattknoten nur geteilt, wenn er mindestens zwei Abtastwerte hat.
Fazit
Wir hoffen, dass dieser Blog Ihnen dabei geholfen hat, das Hyperparameter-Tuning von Random Forests zu verstehen . Es gibt viele andere Hyperparameter, die Sie optimieren können, um die Ausgabe des maschinellen Lernprogramms zu verbessern. In den meisten Fällen reicht die Hyperparameter-Abstimmung aus, um die Ausgabe des maschinellen Lernprogramms zu verbessern.
In seltenen Fällen erweist sich jedoch möglicherweise sogar die Hyperparameter-Abstimmung der zufälligen Gesamtstruktur als nicht hilfreich. In solchen Situationen müssen Sie einen anderen maschinellen Lernalgorithmus wie lineare oder logistische Regression, KNN oder einen anderen Algorithmus in Betracht ziehen, den Sie für geeignet halten.
Wenn Sie mehr über Entscheidungsbäume und maschinelles Lernen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI 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 bietet , IIIT-B-Alumni-Status, mehr als 5 praktische Schlusssteinprojekte und Arbeitsunterstützung bei Top-Unternehmen.
Warum den Random-Forest-Algorithmus verwenden?
Der Random-Forest-Algorithmus ist eines der am weitesten verbreiteten Modelle, wenn es um die Kategorie der überwachten Lernalgorithmen im maschinellen Lernen geht. Der Random-Forest-Algorithmus kann sowohl Klassifikations- als auch Regressionsprobleme beim maschinellen Lernen lösen. Es konzentriert sich auf Ensemble-Lernen, das Konzept, das mehrere Klassifikatoren zur Lösung eines komplizierten Problems kombiniert, um die Gesamtfunktion und das Ergebnis eines Modells zu verbessern. Der Random-Forest-Algorithmus ist beliebt, weil er im Vergleich zu vielen anderen Algorithmen viel weniger Zeit für das Training benötigt. Es kann auch hochgenaue Prognosen für riesige Datensätze liefern, selbst wenn einige Teile der Daten fehlen.
Was ist der Unterschied zwischen einem Entscheidungsbaum und einem Random Forest?
Ein Entscheidungsbaumalgorithmus ist eine überwachte Lerntechnik beim maschinellen Lernen, die einen einzelnen Baum modelliert, der eine Reihe aufeinander folgender Entscheidungen darstellt, die zu einem bestimmten Ergebnis führen. Ein Entscheidungsbaum ist einfach zu interpretieren und zu verstehen. Für die Lösung komplexerer Probleme reicht sie jedoch oft nicht aus. Hier wird der Random-Forest-Algorithmus nützlich – er nutzt mehrere Entscheidungsbäume, um bestimmte Probleme zu lösen. Mit anderen Worten, der Random-Forest-Algorithmus generiert zufällig mehrere Entscheidungsbäume und kombiniert ihre Ergebnisse, um das Endergebnis zu erzielen. Obwohl der Random Forest schwieriger zu interpretieren ist als der Entscheidungsbaum, liefert er bei großen Datenmengen genaue Ergebnisse.
Was sind die Vorteile der Verwendung eines Random-Forest-Algorithmus?
Der größte Vorteil der Verwendung des Random-Forest-Algorithmus liegt in seiner Flexibilität. Sie können diese Technik sowohl für Klassifizierungs- als auch für Regressionsaufgaben verwenden. Abgesehen von seiner Vielseitigkeit ist dieser Algorithmus auch äußerst praktisch – die verwendeten Standardparameter sind effizient genug, um Vorhersagen mit hoher Genauigkeit zu erstellen. Darüber hinaus sind Klassifizierungsmodelle für maschinelles Lernen für Probleme wie Überanpassung bekannt. Wenn im Random-Forest-Algorithmus eine große Anzahl von Bäumen vorhanden ist, können Overfitting-Probleme bei der Klassifizierung leicht überwunden werden.
