Angenommen, ich habe ein prädiktives Klassifizierungsmodell, das auf einer zufälligen Gesamtstruktur basiert (unter Verwendung des randomForest-Pakets in R). Ich möchte es so einrichten, dass Endbenutzer ein Element angeben können, für das eine Vorhersage generiert werden soll, und es wird eine Klassifizierungswahrscheinlichkeit ausgegeben. Bisher kein Problem.
Aber es wäre nützlich / cool, so etwas wie ein Diagramm mit variabler Wichtigkeit ausgeben zu können, aber für das spezifische Element, das vorhergesagt wird, nicht für das Trainingsset. Etwas wie:
Es wird vorausgesagt, dass Gegenstand X ein Hund ist (73% wahrscheinlich),
weil:
Beine = 4
Atem = schlechtes
Fell = kurzes
Futter = böse
Du verstehst, worum es geht. Gibt es eine Standardmethode oder zumindest eine vertretbare Methode, um diese Informationen aus einem trainierten Zufallswald zu extrahieren? Wenn ja, hat jemand Code, der dies für das randomForest-Paket erledigt?
quelle
m
Prädiktoren nacheinander zu ändern und zu sehen, wie der Wald anders vorhersagt, scheint ziemlich teuer. Es muss einen besseren Weg geben.Antworten:
Die erste Idee besteht darin, die Knock-out-Strategie anhand der variablen Wichtigkeit nachzuahmen und zu testen, wie das Mischen der einzelnen Attribute das Vertrauen der Gesamtstruktur in die Objektklassifizierung beeinträchtigt (bei OOB und offensichtlich mit einigen Wiederholungen). Dies erfordert eine gewisse Codierung, ist aber sicherlich erreichbar.
Ich halte es jedoch für eine schlechte Idee - das Ergebnis wird wahrscheinlich höllisch variabel sein (ohne die Auswirkung der Mittelwertbildung über Objekte zu stabilisieren), laut (bei nicht so sicheren Objekten könnten die Unsinnattribute große Auswirkungen haben) und schwer zu erreichen sein interpretieren (zwei oder mehr kooperative Attributregeln führen wahrscheinlich zu zufälligen Auswirkungen der einzelnen beitragenden Attribute).
Um Ihnen keine negative Antwort zu geben, möchte ich lieber versuchen, die Näherungsmatrix und die möglichen Archetypen zu betrachten, die sich daraus ergeben - dies scheint viel stabiler und unkomplizierter zu sein.
quelle
Ich würde es mit dem Kalkgerüst versuchen .
Es funktioniert mit vielen Modellen (einschließlich zufälliger Gesamtstruktur). Es kann zur lokalen Interpretation (dh zur Erklärung einer einzelnen Vorhersage) oder zur globalen Interpretation (dh zur Erklärung eines ganzen Modells) verwendet werden.
Zitat aus dem Asbtract
Es hat Pakete sowohl für R als auch für Python und viele Beispiele, wenn Sie es googeln.
quelle