Wie wähle ich zwischen verschiedenen Modellen?
Der Prozess der Bewertung eines maschinellen Lernens hilft festzustellen, wie zuverlässig und effektiv das Modell für seine Anwendung ist. Dazu gehört die Bewertung verschiedener Faktoren wie Leistung, Metriken und Genauigkeit für Vorhersagen oder Entscheidungsfindung.
Ganz gleich, für welches Modell Sie sich entscheiden, Sie benötigen eine Möglichkeit, zwischen Modellen zu wählen: verschiedene Modelltypen, Tuning-Parameter und Funktionen. Außerdem benötigen Sie ein Modellbewertungsverfahren, um abzuschätzen, wie gut sich ein Modell auf unsichtbare Daten verallgemeinern lässt. Schließlich benötigen Sie ein Bewertungsverfahren, das mit Ihrem Verfahren in anderen Bereichen gekoppelt werden kann, um die Leistung Ihres Modells zu quantifizieren.
Bevor wir fortfahren, werfen wir einen Blick auf einige der verschiedenen Modellbewertungsverfahren und ihre Funktionsweise.
Von oben können wir Folgendes ableiten:
Training und Tests mit denselben Daten sind eine klassische Ursache für Überanpassung, bei der Sie ein übermäßig komplexes Modell erstellen, das sich nicht auf neue Daten verallgemeinern lässt und das eigentlich nicht nützlich ist.
Train_Test_Split bietet eine viel bessere Schätzung der Leistung außerhalb der Stichprobe.
K-fache Kreuzvalidierung ist besser, wenn systematisch K-Trainingstests aufgeteilt und die Ergebnisse gemittelt werden.
Zusammenfassend ist train_tests_split aufgrund seiner Geschwindigkeit und Einfachheit immer noch profitabel für die Kreuzvalidierung, und genau das werden wir in diesem Tutorial-Leitfaden verwenden.
Sie benötigen immer eine Bewertungsmetrik, die zu Ihrem gewählten Verfahren passt, und Ihre Wahl der Metrik hängt von dem Problem ab, das Sie ansprechen. Bei Klassifizierungsproblemen können Sie die Klassifizierungsgenauigkeit verwenden. Aber wir werden uns in diesem Leitfaden auf andere wichtige Klassifizierungsbewertungsmetriken konzentrieren.
Bevor wir neue Bewertungsmetriken kennenlernen, überprüfen wir die Klassifizierungsgenauigkeit und sprechen über ihre Stärken und Schwächen.
Wir haben für dieses Tutorial den Pima Indians Diabetes-Datensatz ausgewählt, der die Gesundheitsdaten und den Diabetesstatus von 768 Patienten enthält.
Lassen Sie uns die Daten lesen und die ersten 5 Zeilen der Daten drucken. Die Beschriftungsspalte zeigt 1 an, wenn der Patient Diabetes hat, und 0, wenn der Patient keinen Diabetes hat. Wir beabsichtigen, die Frage zu beantworten:
Frage: Können wir den Diabetesstatus eines Patienten anhand seiner Gesundheitswerte vorhersagen?
Wir definieren unsere Funktionsmetriken X und Antwortvektor Y. Wir verwenden train_test_split, um X und Y in Trainings- und Testsätze aufzuteilen.
Als nächstes trainieren wir ein logistisches Regressionsmodell auf dem Trainingssatz. Während des Anpassungsschritts lernt das Logreg-Modellobjekt die Beziehung zwischen X_train und Y_train. Schließlich machen wir eine Klassenvorhersage für die Testsätze.
Nachdem wir die Vorhersage für den Testsatz getroffen haben, können wir die Klassifizierungsgenauigkeit berechnen, die einfach den Prozentsatz der korrekten Vorhersagen darstellt.
Wenn Sie jedoch die Klassifizierungsgenauigkeit als Ihre Bewertungsmetrik verwenden, ist es wichtig, sie mit der Nullgenauigkeit zu vergleichen. Dies ist die Genauigkeit, die erreicht werden könnte, wenn immer die häufigste Klasse vorhergesagt wird.
Nullgenauigkeit beantwortet die Frage; Wenn mein Modell die vorherrschende Klasse in 100 Prozent der Fälle vorhersagen würde, wie oft würde es dann korrekt sein? Im obigen Szenario sind 32 % des y_test 1 (Einsen). Mit anderen Worten, ein dummes Modell, das vorhersagt, dass der Patient Diabetes hat, würde in 68 % der Fälle richtig liegen (das sind die Nullen). Dies liefert eine Basislinie, an der wir unsere logistische Regression möglicherweise messen möchten Modell.
Wenn wir die Nullgenauigkeit von 68 % und die Modellgenauigkeit von 69 % vergleichen, sieht unser Modell nicht sehr gut aus. Dies zeigt eine Schwäche der Klassifizierungsgenauigkeit als Modellbewertungsmetrik. Die Klassifizierungsgenauigkeit sagt uns nichts über die zugrunde liegende Verteilung des Testtests.
Zusammenfassung:
Sehen wir uns nun die Verwirrungsmatrix an.
Die Verwirrungsmatrix ist eine Tabelle, die die Leistung eines Klassifizierungsmodells beschreibt.
Es ist nützlich, um Ihnen zu helfen, die Leistung Ihres Klassifikators zu verstehen, es handelt sich jedoch nicht um eine Modellbewertungsmetrik; Sie können Scikit Learn also nicht anweisen, das Modell mit der besten Verwirrungsmatrix auszuwählen. Es gibt jedoch viele Metriken, die aus der Verwirrungsmatrix berechnet und direkt zur Auswahl zwischen Modellen verwendet werden können.
Lassen Sie uns einige seiner grundlegenden Terminologien erklären.
Abschließend:
Die Verwirrungsmatrix gibt Ihnen ein
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3