[PYTHON] [Maschinelles Lernen] Versuchen Sie, zufällige Wälder zu studieren

Was ist zufälliger Wald?

Random Forest ist ein Ensemble-Algorithmus, der häufig beim maschinellen Lernen verwendet wird. Dies ist eine Ensemble-Lernmethode, die die Genauigkeit verbessert, indem das überwachte Lernmodell ** Entscheidungsbaum ** kombiniert wird. Wie in der folgenden Abbildung gezeigt, wird es als zufälliger Wald bezeichnet, da es eine waldähnliche Struktur aufweist, die die Ergebnisse mehrerer Bäume kombiniert. Eines der Merkmale des Entscheidungsbaums ist, dass es leicht zu überlernen ist **. Zufällige Wälder können die Auswirkungen von Übertraining auf diesen Entscheidungsbaum verringern.

Screenshot 2019-11-25 at 14.23.23.png

Zufälliger Waldalgorithmus

  1. Wählen Sie zufällig k Merkmale aus einem Beispieldatensatz mit m Merkmalen aus.
  2. Erstellen Sie einen Entscheidungsbaum mit k Funktionen.
  3. Wiederholen Sie die Schritte 1 und 2 n Mal, während Sie die Kombination der Merkmalsgrößen ändern (oder die verwendete Teilmenge zufällig ändern ** Boosttrap reichlich **), um n Entscheidungsbäume zu erstellen.
  4. Im Klassifizierungsproblem wird der häufigste Wert der Ergebnisse aller Entscheidungsbäume ausgegeben, und im Regressionsproblem wird der Durchschnittswert der Ergebnisse aller Entscheidungsbäume als Endergebnis ausgegeben.

Random Forest Vor- und Nachteile

Vorteile

Nachteile

Scikit-Learn Random Forest

import sklearn.ensemble
rf = sklearn.ensemble.RandomForestClassifier()
rf.fit(train_X, train_y)

RandomForest-Parameter

Parameter- Überblick Möglichkeit Standard
criterion Kriterien teilen "gini", "entropy" "gini"
splitter Split-Auswahlstrategie "best", "random" "best"
max_depth Die tiefste Tiefe des Baumes int None
min_samples_split Minimale Stichprobengröße des Post-Split-Knotens(Wenn es klein ist, neigt es dazu, überlernt zu werden.) int(Anzahl von Beispielen)/float(Verhältnis zu allen Proben) 2
min_samples_leaf Blatt(Letzter Knoten)Mindeststichprobengröße erforderlich für(Wenn es klein ist, neigt es dazu, überlernt zu werden.) int/float 2
max_features Anzahl der für die Teilung verwendeten Merkmale(Größere neigen dazu, zu viel zu lernen) int/float, auto, log2 None
class_weight Klassengewicht "balanced", none none
presort Vorsortierung von Daten(Die Berechnungsgeschwindigkeit ändert sich je nach Datengröße) bool False
min_impurity_decrease Begrenzen Sie die Unreinheit und die Dehnung des Kontrollknotens float 0.
boostrap Gibt an, ob beim Erstellen eines Entscheidungsbaums eine Teilmenge von Beispielen verwendet werden soll bool 1
oob_score Gibt an, ob Beispiele verwendet werden sollen, die nicht im Bootstrap zur Genauigkeitsbewertung verwendet werden bool False
n_jobs Gibt an, ob der Prozessor mit Predict and Fit parallelisiert werden soll(-1)Verwenden Sie alle gleichzeitig 0,1,-1 0
random_state Samen, der beim Generieren von Zufallszahlen verwendet wird int none
verbose Verbalisierung der Ergebnisse 1/0 0

Recommended Posts

[Maschinelles Lernen] Versuchen Sie, zufällige Wälder zu studieren
[Maschinelles Lernen] Zufällige Gesamtstruktur verstehen
Maschinelles Lernen: Überwacht - Zufälliger Wald
[Maschinelles Lernen] Lassen Sie uns den Entscheidungsbaum studieren
Versuchen Sie es mit Kaggle leicht maschinell
Zufälliger Wald (2)
[Maschinelles Lernen] Fassen wir die zufällige Gesamtstruktur auf leicht verständliche Weise zusammen
Zufälliger Wald
Anfänger des maschinellen Lernens versuchen eine lineare Regression
Maschinelles Lernen
SVM versucht maschinelles Lernen mit Scikit-Learn
Random Seed Research im maschinellen Lernen
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
Beispiel für maschinelles Lernen
Versuchen Sie, den Strombedarf durch maschinelles Lernen vorherzusagen
Versuchen Sie es mit dem Jupyter Notebook von Azure Machine Learning
Zusammenfassung des Lernprogramms für maschinelles Lernen
Maschinelles Lernen Über Overlearning
Maschinelles Lernen: Betreut --AdaBoost
Logistische Regression beim maschinellen Lernen
Versuchen Sie, den Wechselkurs (FX) mit nicht tiefem maschinellem Lernen vorherzusagen
Maschinelles Lernen unterstützt Vektormaschine
Maschinelles Lernen studieren-Pandas Edition-
Lineare Regression des maschinellen Lernens
Memo zum Kurs für maschinelles Lernen
Bibliothek für maschinelles Lernen dlib
Maschinelles Lernen (TensorFlow) + Lotto 6
Anfänger des maschinellen Lernens versuchen, einen Entscheidungsbaum zu erstellen
Lerne irgendwie maschinelles Lernen
[Maschinelles Lernen] Versuchen Sie, Objekte mithilfe der selektiven Suche zu erkennen
Bibliothek für maschinelles Lernen Shogun
Maschinelles Lernen Kaninchen Herausforderung
Einführung in das maschinelle Lernen
Maschinelles Lernen: k-Nächste Nachbarn
Was ist maschinelles Lernen?
[Maschinelles Lernen] Starten Sie Spark mit iPython Notebook und probieren Sie MLlib aus
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Regression zu bewerten
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Klassifizierung zu bewerten
Anfänger des maschinellen Lernens versuchen, Naive Bayes zu erreichen (2) - Implementierung
Anfänger des maschinellen Lernens versuchen, Naive Bayes (1) - Theorie zu erreichen
Modell des maschinellen Lernens unter Berücksichtigung der Wartbarkeit
Maschinelles Lernen mit Pokemon gelernt
Datensatz für maschinelles Lernen
Versuchen Sie es mit TensorFlow
Maschinelles Lernen in Delemas (Praxis)
Eine Einführung in das maschinelle Lernen
Techniken im Zusammenhang mit maschinellem Lernen / Klassifizierung
Maschinelles Lernen: Überwacht - Lineare Regression
Grundlagen des maschinellen Lernens (Denkmal)
Versuchen Sie, IPv6 nach dem Zufallsprinzip zu deaktivieren
Anfänger des maschinellen Lernens versuchten RBM
Ich habe versucht, RandomForest zu verwenden
Maschinelles Lernen mit Python! Vorbereitung
Entscheidungsbaum und zufälliger Wald
Verstärkungslernen 5 Versuchen Sie, CartPole zu programmieren?
Lernressourcen-Lernblock für maschinelles Lernen
Maschinelles Lernen ② Naive Bayes Zusammenfassung
Verwenden Sie Random Forest mit Python