Heim > Backend-Entwicklung > Python-Tutorial > Evaluierung eines Klassifizierungsmodells für maschinelles Lernen

Evaluierung eines Klassifizierungsmodells für maschinelles Lernen

WBOY
Freigeben: 2024-09-07 14:01:07
Original
1157 Leute haben es durchsucht

Gliederung

  • Was ist das Ziel der Modellevaluierung?
  • Was ist der Zweck der Modellevaluierung und welche davon gibt es? gemeinsame Bewertungsverfahren?
  • Wozu dient die Klassifizierungsgenauigkeit und wozu dient sie? Einschränkungen?
  • Wie beschreibt eine Verwirrungsmatrix die Leistung eines Klassifikator?
  • Welche Metriken können aus einer Verwirrungsmatrix berechnet werden?

DDas Ziel der Modellevaluierung ist die Beantwortung der Frage;

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.

Modellbewertungsverfahren und ihre Funktionsweise.

  1. Training und Tests mit denselben Daten
    • Belohnt übermäßig komplexe Modelle, die die Trainingsdaten „überpassen“ und nicht unbedingt verallgemeinern
  2. Trainings-/Testaufteilung
    • Teilen Sie den Datensatz in zwei Teile auf, damit das Modell anhand verschiedener Daten trainiert und getestet werden kann
    • Bessere Schätzung der Leistung außerhalb der Stichprobe, aber immer noch eine Schätzung mit „hoher Varianz“
    • Nützlich aufgrund seiner Geschwindigkeit, Einfachheit und Flexibilität
  3. K-fache Kreuzvalidierung
    • Erstellen Sie systematisch „K“-Zug-/Testaufteilungen und mitteln Sie die Ergebnisse zusammen
    • Noch bessere Schätzung der Leistung außerhalb der Stichprobe
    • Läuft „K“-mal langsamer als die Aufteilung zwischen Training und Test.

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.

Modellbewertungsmetriken:

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.

Klassifizierungsgenauigkeit

Wir haben für dieses Tutorial den Pima Indians Diabetes-Datensatz ausgewählt, der die Gesundheitsdaten und den Diabetesstatus von 768 Patienten enthält.

Evaluating A Machine Learning Classification Model

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.

Evaluating A Machine Learning Classification Model

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.

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

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.

Evaluating A Machine Learning Classification Model

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.

Evaluating A Machine Learning Classification Model

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:

  • Klassifizierungsgenauigkeit ist die am einfachsten zu verstehende Klassifizierungsmetrik
  • Aber es sagt Ihnen nichts über die zugrundeliegende Verteilung der Antwortwerte
  • Und es sagt Ihnen nicht, welche "Typen" von Fehlern Ihr Klassifikator macht.

Sehen wir uns nun die Verwirrungsmatrix an.

Verwirrungsmatrix

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.

Evaluating A Machine Learning Classification Model

  • Jede Beobachtung im Testsatz wird in genau einem Feld dargestellt
  • Es handelt sich um eine 2x2-Matrix, da es 2 Antwortklassen gibt
  • Das hier gezeigte Format ist nicht universell

Lassen Sie uns einige seiner grundlegenden Terminologien erklären.

  • True Positives (TP):wir haben richtig vorhergesagt, dass sie tatsächlichDiabetes haben
  • True Negatives (TN):wir haben richtig vorhergesagt, dass sie keinenDiabetes haben
  • False Positives (FP):wir haben fälschlicherweise vorhergesagt, dass sie tatsächlich an Diabetes leiden (ein „Typ-I-Fehler“)
  • Falsche Negative (FN):Wir haben fälschlicherweise vorhergesagt, dass sie keinen Diabetes haben (ein „Typ-II-Fehler“)

Sehen wir uns an, wie wir die Kennzahlen berechnen können

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Fazit:

  • Die Verwirrungsmatrix gibt Ihnen ein vollständigeres Bild der Leistung Ihres Klassifikators
  • Ermöglicht Ihnen außerdem die Berechnung verschiedener Klassifizierungsmetriken, und diese Metriken können Sie bei der Modellauswahl unterstützen

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage