Was ist Random Forest?

Random Forest beschreibt einen Algorithmus im Bereich des maschinellen Lernens bzw. der künstlichen Intelligenz, welcher für Klassifikations- oder Regressionsaufgaben angewendet werden kann. Bei der Klassifikation oder Klassifizierung geht es um die Einteilung bzw. Zuordnung zu einer bestimmten Klasse. Hingegen hat die Regression das Ziel, Werte einer Variable auf Basis ihrer Abhängigkeit zu anderen Variablen zu schätzen.

Der Begriff Random Forest wurde vom Statistiker Leo Breiman eingeführt und basiert auf der Anwendung von Entscheidungsbäumen. Durch die Erstellung vieler zufälliger Entscheidungsbäume entsteht ein „zufälliger Wald“ (engl. Random Forest) an Bäumen.

Wie funktioniert ein Random Forest?

Um einen Wald an Bäumen zu erstellen, müssen zuvor viele einzelne Entscheidungsbäume (engl. decision trees) generiert werden. Diese Erstellung erfolgt unkorreliert und nach dem Zufallsprinzip. Jeder Baum besteht aus mehreren Verzweigungen/Knoten, welche schlussendlich nach mehreren Ebenen in einem Endpunkt/Blatt/Klasse resultiert. Dabei ordnet ein Klassifikator das Datenobjekt einer Klasse zu, welche dann in der nächsten Verzweigung wieder klassifiziert wird, bis das Objekt an einem Endpunkt angelangt.

Um zu verhindern, dass Entscheidungsbäume zueinander korrelieren, wird das sogenannte Prinzip des Bagging (Kurzform von Bootstrap Aggregation) angewendet. Hierzu werden für die Erstellung der Entscheidungsbäume die Trainingsdaten mehrmals mit unterschiedlichen Aufteilungen herangezogen. Durch diese Varianz der jeweiligen Entscheidungsknoten soll eine Korrelation der Entscheidungsbäume zueinander ausgeschlossen werden.

Nach der Erstellung der definierten Anzahl an Entscheidungsbäumen funktioniert der Algorithmus auf Basis der Ensemble-Methode durch die Berücksichtigung mehrere Entscheidungsbäume für die Vorhersage. Diese Methode hat gegenüber der Anwendung eines einzelnen Entscheidungsbaumes den Vorteil, dass die Entscheidungen einer Vielzahl an Prädiktoren Ausreißer gegensteuern können und so die Verlässlichkeit des Ergebnisses erhöhen. Somit entspricht die Vorhersage eines Random Forest Regressor dem Durchschnitt der Vorhersagen der einzelnen Entscheidungsbäume.

Random Forest zählt grundsätzlich zur Kategorie des sogenannten Supervised Learning (überwachtes Lernen). Bei dieser Art des maschinellen Lernens sind die Trainingsdaten des Algorithmus gelabelt, das heißt, dass die Eingangsdaten bereits den korrekten Zieldaten zugeordnet sind. Darauf aufbauend soll das System lernen, neue Daten richtig vorherzusagen.

In welcher Software lässt sich ein Random Forest umsetzen?

Die Methode lässt sich unter anderem in Scikit-learn, R Programmiersprache, H2O oder Weka umsetzen.

  • Bei Scikit-learn handelt es sich um eine Python-Bibliothek, welche vor allem für Klassifikations- & Regressionsalgorithmen sowie Visualisierungen im Bereich des maschinellen Lernens Anwendung findet.
  • Die Programmiersprache R wird als interpretierte Sprache eingestuft, wurde für statische Berechnungen entwickelt und ist für statistische Berechnungen sowohl in der Wissenschaft als auch in der Wirtschaft sehr weit verbreitet. Der Name R lässt sich auf den Anfangsbuchstaben des Vornamens seiner Begründer Ross Ihaka und Robert Gentleman zurückführen sowie auf die Schlichtheit der Programmiersprache S, an welcher sich der Syntax von R stark anlehnt.
  • H2O ist eine Open-Source-Software des Unternehmens H2O.ai und findet vor allem bei Algorithmen im Bereich der Statistik und des maschinellen Lernens Anwendung. Die Software kann über eine API beispielsweise auch in Microsoft Excel betrieben werden. Während der Berechnung des Algorithmus werden approximative Ergebnisses dargestellt, sodass Parameter während des Berechnungsvorgangs noch abgeändert werden können. Die Visualisierung der Methode zählt allgemein zu einem Vorteil dieser.
  • Weka (Waikato Environment for Knowledge Analysis) wurde von der University of Waikato in Neuseeland entwickelt und bietet neben Lösungsansätze für Klassifikationen und in der Clusteranalyse auch Anwendungsgebiete in neuronalen Netzen, welche mit der Anwendung von Random Forest kombinierte werden können.