[PYTHON] Zufälliger Vergleich von Waldgröße und Verarbeitungszeit

Überblick

Ich sehe oft Artikel über die Genauigkeit von Vorhersagen unter Verwendung zufälliger Wälder, aber ich konnte keine Artikel über die Größe des Modells und die Zeit während des Trainings und der Vorhersage finden, also habe ich sie verglichen. Dieses Mal werden Lernen und Vorhersagen unter Verwendung der Boston-Daten (Anzahl der Datensätze: 506, Anzahl der Spalten: 13) durchgeführt, die in scicit-learn enthalten sind. Die Parameter n_estimators (Anzahl der Bäume), max_depth (maximale Baumtiefe) und die Anzahl der Datensätze, die häufig von RandomForest verarbeitet werden, wurden geändert und gemessen. Die Anzahl der Datensätze wurde von der ursprünglichen Anzahl auf n = 506, 5060, 50600 erhöht. Beim Aufblähen wird jedoch jeder Wert zufällig um 10% erhöht oder verringert, um zu vermeiden, dass so viele doppelte Daten wie möglich erstellt werden.

Modellgröße

image.png

Es ist ersichtlich, dass die Anzahl der Bäume im zufälligen Wald und die Größe des Modells einfach proportional sind. Es wurde festgestellt, dass die maximale Baumtiefe und Modellgröße mit jeder Tiefenzunahme um das 1,5- bis 2-fache zunahm. Dies kann aus der Tatsache erwartet werden, dass sich die Anzahl der Knoten höchstens verdoppelt, wenn die maximale Tiefe der Dichotomien um eins zunimmt, und dass die Anzahl der Zweige zunimmt, wenn die Anzahl der Datensätze zunimmt.

Bearbeitungszeit beim Erstellen eines Modells

image.png Die Verarbeitungszeit für die Modellierung scheint proportional zur Anzahl der Bäume, zur maximalen Tiefe und zur Größe der Trainingsdaten zu sein.

Voraussichtliche Bearbeitungszeit

Zum Zeitpunkt der Vorhersage wurde das mit n = 5060 erstellte Trainingsmodell verwendet, und die zur Vorhersage der Daten erforderliche Zeit wurde unter Verwendung der Vorhersagefunktion gemessen. image.png Es ist ersichtlich, dass die Verarbeitungszeit zum Zeitpunkt der Vorhersage auch proportional zur Anzahl der Bäume und zur Tiefe der Bäume ist. Andererseits stieg überraschenderweise die Anzahl der vorherzusagenden Datensätze überhaupt nicht an, und die Verarbeitungszeit änderte sich nicht, selbst wenn die Vorhersage mit etwa 100 Millionen Daten als Versuch gemacht wurde.

Schließlich

Ich wollte unbedingt die Anzahl der Spalten ändern, konnte aber keinen guten Weg finden, also ging ich diese Zeit durch. Natürlich ändert sich dieses Ergebnis je nach Tendenz der Daten. Bitte beziehen Sie sich darauf.

Recommended Posts

Zufälliger Vergleich von Waldgröße und Verarbeitungszeit
Zufälliger Wald (2)
Zufälliger Wald
Int64-Primfaktor-Zerlegung durch Sprachverarbeitung (Versuchsaufteilungsmethode), Verarbeitungszeitvergleich
Balanced Random Forest in Python
[Maschinelles Lernen] Zufällige Gesamtstruktur verstehen
Entscheidungsbaum und zufälliger Wald
Verwenden Sie Random Forest mit Python
Maschinelles Lernen: Überwacht - Zufälliger Wald