Wie verschmilzt ein Ensemble-Klassifikator die Vorhersagen seiner konstituierenden Klassifikatoren? Ich habe Schwierigkeiten, eine klare Beschreibung zu finden. In einigen Codebeispielen, die ich gefunden habe, mittelt das Ensemble nur die Vorhersagen, aber ich sehe nicht, wie dies zu einer "besseren" Gesamtgenauigkeit führen könnte.
Betrachten Sie den folgenden Fall. Ein Ensemble-Klassifikator besteht aus 10 Klassifikatoren. Ein Klassifikator hat eine Genauigkeit von 100% der Zeit in der Datenuntermenge X und 0% aller anderen Zeiten. Alle anderen Klassifizierer haben eine Genauigkeit von 0% in der Datenuntermenge X und 100% in allen anderen Zeiten.
Bei Verwendung einer Mittelungsformel, bei der die Genauigkeit des Klassifikators ignoriert wird, hätte der Ensemble-Klassifikator bestenfalls eine Genauigkeit von 50%. Ist das richtig oder fehlt mir etwas? Wie kann die durchschnittliche Vorhersage von N potenziell ahnungslosen Klassifikatoren möglicherweise zu einer besseren Vorhersage führen als ein einzelner Klassifikator, der ein Experte in einem bestimmten Bereich ist?
Sie vermissen die Tatsache, dass "schlechte" Klassifikatoren keine Genauigkeit von 0% haben, sondern nicht wesentlich besser als eine zufällige Vermutung.
Auf diese Weise sind gute Vorhersagen immer gleich und häufen sich (da die Wahrheit nur eine ist), während schlechte Vorhersagen zufälliges Rauschen sind, das sich herausmittelt.
quelle
Im Falle einer Klassifizierung gibt es im Allgemeinen zwei Möglichkeiten, die Vorhersage zusammenzustellen. Nehmen wir an, es handelt sich um ein Problem bei der Klassifizierung von Binärklassen, und Sie müssen drei Modelle mit den Namen m1, m2 und m3 zusammenstellen. Der Trainingsdatensatz heißt Zug- und Testdatensatz mit dem Namen test. Die Modelle basieren bereits auf train. Dann lautet der Python-Code wie folgt.
Die erste Methode besteht darin, eine Runde des Durchschnitts zu ziehen
Die Ausgabe ist also ein Vektor mit den Werten 0 und 1
Die zweite Methode besteht darin, die Vorhersagewahrscheinlichkeit jeder Klasse aus diesen Modellen zusammenzustellen und diese zusammenzustellen und dann die Klasse entweder auf der Grundlage einer harten Schwelle oder einer Logik zu bestimmen.
Durchlaufen Sie den gesamten pred_proba-Vektor, um herauszufinden, welcher in 0 und welcher 1 1 ist, basierend auf der harten Schwelle 0,5
Pred ist also die endgültige Vorhersage des Ensembles.
quelle