Wie wähle ich zwischen verschiedenen Modellen?
Der Prozess der Bewertung eines maschinellen Lernens hilft dabei, 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.
Egal 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 Modellevaluierungsverfahren 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-Train-Testaufteilungen vorgenommen und die Ergebnisse gemeinsam gemittelt werden.
Zusammenfassend lässt sich sagen, dass train_tests_split aufgrund seiner Geschwindigkeit und Einfachheit immer noch profitabel für die Kreuzvalidierung ist, 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, mit dem Sie sich befassen. 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 zunächst 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 ausdrucken. Die Beschriftungsspalte zeigt 1 an, wenn der Patient Diabetes hat, und 0, wenn der Patient keinen Diabetes hat, und wir beabsichtigen, die Frage zu beantworten:
Frage: Können wir den Diabetesstatus eines Patienten anhand seiner Gesundheitsmessungen 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. Abschließend erstellen wir eine Klassenvorhersage für die Testsätze.
Da wir nun die Vorhersage für den Testsatz getroffen haben, können wir die Klassifizierungsgenauigkeit berechnen, die einfach den Prozentsatz der korrekten Vorhersagen darstellt.
Jedes Mal, wenn Sie die Klassifizierungsgenauigkeit als Bewertungsmaßstab verwenden, ist es jedoch 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.
Sehen wir uns an, wie wir die Kennzahlen berechnen können
Fazit:
Das obige ist der detaillierte Inhalt vonEvaluierung eines Klassifizierungsmodells für maschinelles Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!