„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Evaluierung eines Klassifizierungsmodells für maschinelles Lernen

Evaluierung eines Klassifizierungsmodells für maschinelles Lernen

Veröffentlicht am 05.11.2024
Durchsuche:343

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 Kennzahlen 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 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.

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 auf verschiedenen 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-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.

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, 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.

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 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.

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. Schließlich machen wir eine Klassenvorhersage für die Testsätze.

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Nachdem wir 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

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.

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 ist eine 2x2-Matrix, weil 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 Diabetes haben
  • True Negatives (TN): wir haben richtig vorhergesagt, dass sie keinen Diabetes haben
  • False Positives (FP): wir haben fälschlicherweise vorhergesagt, dass sie Diabetes haben (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

Abschließend:

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 Ihrer Modellauswahl unterstützen
Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/chris22ozor/evaluating-a-machine-learning-classification-model-4cd8?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

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