Verstehen und Anwenden baumbasierter Methoden für Prädiktor-Screening und Modellierung
Erfahren Sie, wie Sie:
- Modell mit Partition, Bootstrap Forests und Boosted Tree
- Verstehen Sie die Vor- und Nachteile von Entscheidungsbäumen
- Vorteile: Nichtlineare Zusammenhänge aufdecken, leicht verständliche Ergebnisse erzielen, große Anzahl an Faktoren berücksichtigen
- Nachteile: Behandeln Sie jeweils nur eine Antwort, bilden Sie eine Wenn-Dann-Anweisung, keine mathematische Formel, hohe Variabilität kann bei ähnlichen Daten zu großen Unterschieden in einem Modell führen
- Erstellen Sie einen JMP-Partitionsklassifizierungsbaum, der die Aufteilung verwendet, um die Beziehung zwischen den Prädiktoren und den kategorischen Antworten zu definieren.
- Definieren Sie die Anzahl der Stichproben, die Größe der Bäume (Modelle) und die Stichprobenrate, um Bootstrap-Forest-Modelle mithilfe einer Random-Forest-Technik zu erstellen.
- Definieren Sie die Anzahl der Schichten, Aufteilungen pro Baum, Lernrate und Abtastraten, um Boosted Tree-Modelle zu erstellen, die kleinere Modelle zu einem endgültigen Modell kombinieren.
- Ergebnisse interpretieren und Modelle optimieren
- Geben Sie Profit-Matrix-Berichte an und führen Sie sie aus, um Fehlklassifizierungen für kategorische Antworten zu identifizieren, und interpretieren Sie die Ergebnisse mithilfe der Confusion Matrix und der Decision Matrix.
Hinweis: Fragen und Antworten sind um 17:00 Uhr und 38:00 Uhr enthalten.
Prädiktive Modellierung und maschinelles LernenBetreff: Verstehen und Anwenden baumbasierter Methoden für das Prädiktor-Screening und die ModellierungVielen Dank an beide für die sehr detaillierte Analyse. Ich benötige etwas Zeit, um alle Ihre Vorschläge zu bearbeiten, und werde später antworten. Ich weiß, dass es in meinem Datensatz viele Herausforderungen gibt, eine weitere ist, dass er unausgewogen ist, eine Mischung aus vielen historischen Daten und einigen hinzugefügten Experimenten. Und wir Entwickler wollen die Informationen aus allen Daten herausholen und nichts wegwerfen. Diese Experimente mögen wie Ausreißer aussehen, sind aber keine Ausreißer, sondern einzelne Punkte mit einem aussagekräftigen Ergebnis. Da mein Datensatz beim Discovery Summit Europe vorgestellt wird, können wir ihn weiter besprechen, wenn er online ist. BR
Betreff: Verstehen und Anwenden baumbasierter Methoden für das Prädiktor-Screening und die Modellierung@Peter_Hersh : Ich bin mir nicht sicher, was Sie mit Ihrem Satz meinen. Baumbasierte Modelle sind sehr anfällig für Ausreißer.“ , da baumbasierte Methoden stattdessen recht robust gegenüber Ausreißern sind oder zumindest einen vernachlässigbaren Effekt haben. Es gibt bereits viele Beispiele und Veröffentlichungen zu diesem Aspekt, und aus diesem Grund werden diese Art von Modellen aufgrund ihrer „Einfachheit“ und des geringen Vorverarbeitungs-/Reinigungsschritts (keine große Arbeit an Ausreißern erforderlich) häufig verwendet und sind bekannt. und Umgang mit fehlenden Werten, keine Annahmen über Verteilungen usw.). Ein Vergleich der Auswirkungen von Ausreißern auf Regressionsmodelle und Random Forest (und die Vorteile verschiedener Techniken zum Umgang mit Ausreißern, die auf beide Algorithmen angewendet werden (Spoiler: die keine große Auswirkung auf den Random Forest-Algorithmus zeigen)) ist hier zu sehen: So machen Sie Ihre Modelle für maschinelles Lernen robust gegenüber Ausreißern – KDnuggets
@Peter_Hersh @Georg Bei der Auswahl baumbasierter Modelle sind jedoch noch andere Dinge zu berücksichtigen, hier einige:
- Überanpassung Dies kann hauptsächlich bei Entscheidungsbäumen und verstärkten Bäumen auftreten (wenn keine ordnungsgemäße Validierung durchgeführt wird). Zufällige Wälder sind aufgrund dessen tendenziell weniger anfällig für Überanpassung Bootstrapping-Prozess: Es gibt einen selbstständiges Training einzelner Bäume, Jedes davon wird an eine Bootstrap-Stichprobe der Trainingsdaten angepasst. Beim Bootstrapping-Prozess werden einige Stichproben nicht bei der Erstellung einzelner Bäume „verwendet“ (sogenannte „Out Of Bag“-Stichproben (OOB), sondern können zur Schätzung von Fehlern im Modell verwendet werden (und dienen daher als „Validierung“, Fehlerschätzung für Daten, die vom Modell nicht erkannt werden).
- Korrelation/Multikollinearität : T Die verschiedenen baumbasierten Modelle gehen unterschiedlich mit Multikollinearität oder Korrelation zwischen Variablen um. Wenn Ihr Datensatz eine starke Korrelation/Multikollinearität aufweist, können Sie mit einigen Unterschieden rechnen: Wenn Sie sich das Diagramm der Wichtigkeit der Entscheidungsbaummerkmale (oder des durch den Gradienten verstärkten Baums) ansehen, können Sie sehen, dass nur die „besten“ Merkmale ausgewählt werden (die mit den besten Aufteilungsattributen), die anderen (mit den ersten korrelieren) jedoch nicht ausgewählt und haben eine Feature-Wichtigkeit von 0 (oder nahe bei 0). Dies ist normal, da ein Entscheidungsbaum alle Prädiktoren verwendet und versucht, die besten Aufteilungen auf jeder Ebene zu ermitteln, sodass „schlechtere“ und korrelierte Merkmale weggelassen werden.Das Neuladen von Decision/Boosted Tree kann daher bei Vorhandensein von Korrelation/Multikollinearität zu unterschiedlichen Modellen führen (da möglicherweise nicht immer dieselben Merkmale/Variablen ausgewählt werden). Wenn Sie sich das Diagramm der Wichtigkeit von Random Forest-Features ansehen, können Sie sehen, dass alle Features eine Bewertung haben, auch die korrelierten Features. Dies ist auf das Feature-Bagging zurückzuführen, eine zufällige Auswahl von Features, die für jeden Entscheidungsbaum in der Gesamtstruktur durchgeführt wird und jedem Feature die gleiche „Chance“ gibt, in einzelnen Bäumen ausgewählt zu werden. Wenn Sie dieses Modell also neu laden, sollten Sie sehr ähnliche Modelle erhalten.
- Lärm (oder Bias/Varianz-Kompromiss): B Oosted-Bäume können genauer sein als zufällige Wälder. Beim Boosted Tree wird jeder einzelne Baum iterativ trainiert, um die Fehler des vorherigen Baums zu korrigieren, sodass dieser Algorithmus in der Lage ist, komplexe Muster in den Daten zu erfassen. Wenn die Daten jedoch verrauscht sind, kann es sein, dass die verstärkten Bäume überpassen und mit der Modellierung des Rauschens beginnen. Abhängig von der Größe Ihres Datensatzes und dem Rauschen in Ihren Daten können Sie also zwischen Boosted Tree und Random Forest wählen: Die ersten sind sehr genau, aber nicht robust gegenüber Rauschen (geringe Verzerrung, hohe Varianz wie Entscheidungsbaum), wohingegen in Vergleichs-RF sind weniger genau/präzise, aber robuster gegenüber Rauschen (Bias ist der gleiche wie bei jedem einzelnen Baum im Wald, geringere Varianz als Entscheidungsbaum oder Boosted Tree aufgrund des Verpackungsprozesses).
Und Sie müssen (zusätzlich zu den vorherigen Punkten) auch Ihr Ziel (vorhersagend/erklärend?), den Einfluss der Metriken, die zur Bewertung der Leistung Ihres Modells auf diesen Datensatz verwendet werden, die Größe und Dimensionen des Datensatzes (Anzahl der Variablen vs. Anzahl der Beobachtungen), Repräsentativität Ihrer Daten usw.
Wenn Sie einen kleinen Datensatz (mit möglichem Rauschen) verwenden, ist Random Forest möglicherweise eine sicherere und robustere Alternative als Boosted Tree/Decision Tree.
Zusätzlich zu was @Peter_Hersh schlägt vor: Wenn Sie unterschiedliche Leistungen in den Falten/Validierungsspalten für Ihren Boosted Tree haben, ist das ein Hinweis darauf, dass eine Teilmenge Ihrer Daten ungewöhnliche Werte haben könnte, sodass der Versuch, Entfernungen (Jackknife/Mahalanobis) in der Multivariate-Plattform zu betrachten, hilfreich sein könnte Sie können in dieser Teilmenge eine übliche Beobachtung erkennen und identifizieren.
Entschuldigung für die lange Antwort, ich hoffe, sie wird hilfreich sein,
Betreff: Verstehen und Anwenden baumbasierter Methoden für das Prädiktor-Screening und die Modellierung@Georg Tolle Frage.@Victor_G hat ein paar nette Lösungen mit Modellmittelung oder Ensemblemodellierung von k-Falten.Es hört sich so an, als ob Ihre Daten stark verrauscht sind, da sich das Modell bei zusätzlichen Durchläufen ändert.Es kann sein, dass das Modell zu diesem Zeitpunkt ohne einige zusätzliche Faktoren oder Läufe, die dabei helfen, die Variabilität Ihrer Daten besser zu verstehen, nicht sehr nützlich ist.
Eine Möglichkeit, dies zu testen, besteht darin, mehrere Validierungsspalten für die Holdback-Validierung zu erstellen.Wenn sich diese Modelle, die unterschiedliche Validierungsspalten verwenden, erheblich voneinander unterscheiden, deutet dies darauf hin, dass eine zufällige Teilmenge Ihrer Daten nicht repräsentativ für die Daten als Ganzes ist.Das bedeutet, dass Sie Schwierigkeiten haben werden, ein genaues Vorhersagemodell zu erstellen, ohne einige Änderungen vorzunehmen.
Baumbasierte Modelle sind sehr anfällig für Ausreißer. Daher ist es möglicherweise eine gute Idee, vor der Ausführung des Modells nach Ausreißern zu suchen.
Ich hoffe, das ist hilfreich. Lassen Sie uns wissen, wie es läuft.
Betreff: Verstehen und Anwenden baumbasierter Methoden für das Prädiktor-Screening und die Modellierung@Georg Ich hätte vielleicht ein paar Ideen zu Ihrer Frage:
- Versuchen Sie die K-Folds-Kreuzvalidierung (mit der Plattform „Model Screening“, verfügbar unter Analysieren -> Prädiktive Modellierung), um die Robustheit Ihres Modells zu bewerten. Sie erhalten Ergebnisse für jede Ihrer Faltungen, sodass Sie einfacher beurteilen können, ob Ihr Modell robust ist, unabhängig davon, welche Läufe im Trainings- oder Validierungssatz enthalten sind.
Sie können Formeln für jedes Modell speichern (trainiert auf den K-1-Falten, validiert auf einer Falte) und anschließend könnte es möglich sein, eine Zusammenfassung oder Mittelung dieser einzelnen Modelle durchzuführen, die auf verschiedenen Faltungen erstellt wurden, aber einige Daten müssen gespeichert werden vollständig aus, da Sie hier den Durchschnitt verschiedener Modelle ermitteln, die auf Ihren Daten und Validierungssätzen erstellt wurden. Um also eine faire Bewertung des Modells zu erhalten, muss ein unabhängiger Testsatz erstellt und die Testdaten vollständig „entfernt“ werden, um jegliche Informations-/ Datenverlust oder Überanpassung.
- Wenn Sie reproduzierbare Tests für Ihr Modell durchführen (oder Ihr endgültiges Modell „reparieren“ möchten), können Sie den Zufallsstartwert korrigieren, indem Sie eine beliebige Zahl eingeben: Auf diese Weise können Sie durch das Neuladen eines Modells mit einem Skript und einem festen Zufallsstartwert immer dies tun haben die gleichen Ergebnisse.
- Schließlich könnten Sie auch versuchen, verschiedene Boosted Trees (oder andere baumbasierte Modelle) zu erstellen, indem Sie Hyperparameter optimieren oder einige Unterschiede in ihren Werten vornehmen (Tiefe, minimale Größenaufteilung usw.), um beides zu optimieren Modell(e) oder ein wenig Vielfalt in Ihren einzelnen Modellen, und kombinieren Sie sie dann durch Zusammenfügen oder Mitteln.
Ich hoffe, diese paar Ideen können Ihnen helfen,
Betreff: Baumbasierte Methoden für das Prädiktor-Screening und die Modellierung verstehen und anwenden@Peter_Hersh ,Vielen Dank für die Veröffentlichung dieses tollen Videos! Ich habe in meinem Fall variable Daten und die Verwendung von Entscheidungsbäumen führt zu unterschiedlichen Modellen für unterschiedliche Läufe, wie Sie sagten, dass Entscheidungsbäume diesen „Nachteil“ haben. In Ihrem Fall haben Sie eine Validierungsspalte verwendet, was bedeutet, dass die Auswahl für Training und Tests nicht mehr zufällig ist. In meinem Fall ist die Verwendung des „Hold-out-Anteils“ eine weitere „Lärmquelle“ von Durchlauf zu Durchlauf.Gibt es eine Idee oder Strategie, wie man ein stabileres Modell erhält oder wie man das endgültige Modell definiert/repariert? Ich verwende Boosted Tree, weil es bei einem Modellvergleich am besten abgeschnitten hat.Dank im Voraus!