Was sind Sklearn-Metriken und warum müssen Sie sie kennen?

Veröffentlicht: 2021-10-22

Python ist eine der am häufigsten verwendeten Programmiersprachen unter Entwicklern weltweit. Seine Fähigkeiten zur Datenautomatisierung und Algorithmen machen es ideal zum Erstellen und Trainieren von Programmen, Maschinen und computerbasierten Systemen und zum Erstellen von Vorhersagen. Daher werden Kandidaten mit Python-Kenntnissen zunehmend für lukrative Karrierewege wie Machine Learning und Data Science bevorzugt.

Wenn Sie ein Anfänger sind, kann es entmutigend erscheinen, die richtigen Werkzeuge selbst zu finden. Mit kostenloser Software wie Scikit-learn können Sie sich mit wenig Aufwand relevante Fähigkeiten aneignen. Die Bibliothek für maschinelles Lernen enthält mehrere Klassifikations-, Regressions- und Clustering-Algorithmen für Python-Programmierer.

Dieser Blog konzentriert sich speziell auf Klassifizierungsprobleme und Sklearn-Metriken, um Sie auf Ihrer Lernreise zu führen. Sie lernen die Anwendung von Bewertungsmetriken kennen und verstehen auch die Mathematik dahinter.

Inhaltsverzeichnis

Klassifizierungsmetriken in Scikit-Learn

Die Klassifizierung ist ein wesentlicher Bestandteil der Vorhersagemodellierung. Sie verwenden es, um die Klasse zu identifizieren, zu der eine bestimmte Stichprobe aus einer Grundgesamtheit gehört. Angenommen, Sie möchten vorhersagen, ob ein Patient erneut ins Krankenhaus eingeliefert wird. Die zwei möglichen Typen hier sind – Positiv (im Krankenhaus) und Negativ (nicht im Krankenhaus). Das Klassifizierungsmodell würde den Behälter vorhersagen, in dem die Probe platziert werden sollte, „Vorhergesagt positiv“ oder „Vorhergesagt negativ“. Sie werden die Genauigkeit der Vorhersagen entdecken, sobald Sie das Modell trainieren.

Die meisten Datenwissenschaftler und Ingenieure für maschinelles Lernen verwenden das Scikit-Learn-Paket, um die Leistung von Vorhersagemodellen zu analysieren. Das sklearn-Metrikmodul bietet Ihnen Zugriff auf viele integrierte Funktionen. Lassen Sie uns mit diesen Metriken den Prozess des Schreibens von Funktionen von Grund auf aufdecken.

Nehmen Sie online am Machine Learning-Kurs der weltbesten Universitäten teil – Master, Executive Post Graduate Programs und Advanced Certificate Program in ML & AI, um Ihre Karriere zu beschleunigen.

Sklearn-Metriken erklärt

Mit Sklearn-Metriken können Sie Scores, Verluste und Nutzenfunktionen zur Bewertung der Klassifizierungsleistung implementieren.

Hier sind die wichtigsten Schritte:

  • Lade Daten;
  • Teilen Sie es in Zugset und Testset auf;
  • Erstellen Sie das Trainingsmodell;
  • Vorhersagen oder Vorhersagen zu den Testdaten treffen;
  • Evaluieren Sie das maschinelle Lernmodell mit einer bestimmten Methode.

Um fortzufahren, müssen Sie einen Beispieldatensatz und Vorhersagefunktionen für zwei Modelle laden, Random Forest und Linear Regression. Nennen wir sie Model_RF und Model_LR.

Führen Sie diesen Code aus, um das Pandas-Modul zu importieren und die Datendatei zu lesen und ihre Elemente zu untersuchen.

Importiere Pandas als ps

df = ps.read_csv('data.csv')

df.head()

In den meisten Projekten definieren Sie einen Schwellenwert und kennzeichnen die Vorhersagewahrscheinlichkeiten als vorhergesagt positiv und vorhergesagt negativ. Dies würde Ihrer Tabelle zwei weitere Spalten hinzufügen.

Schwelle = 0,5

df['forecasted_RF'] = (df.model_RF >= 0.5).astype('int')

df['forecasted_LR'] = (df.model_LR >= 0.5).astype('int')

df.head()

Jetzt, da wir tatsächliche und prognostizierte Labels haben, können wir unsere Stichproben in vier verschiedene Buckets unterteilen.

Mit verwirrter_matrix können wir ein 2X2-Array erhalten, bei dem die Labels in die folgenden Buckets aufgeteilt sind:

  • Richtig positiv (TP)
  • Falsch positiv (FP)
  • Falsch negativ (FN)
  • Richtig negativ (TN)

Nachdem Sie die verwirrte_Matrix aus sklearn-Metriken importiert und die tatsächlichen und prognostizierten Labels übergeben haben, können Sie Ihre Funktionen definieren, um sie zu überprüfen.

Sie können auch manuell überprüfen, ob Ihre Ergebnisse übereinstimmen, indem Sie die Funktion assert von Python und die Funktion array_equal von NumPy verwenden.

Wir können viele andere Leistungsmetriken mit den vier Buckets TP, FP, TN und FN berechnen. Diese sind:

1. Genauigkeitspunktzahl

Es verwendet die tatsächlichen und prognostizierten Labels als Eingaben und erzeugt den korrekt vorhergesagten Bruchteil der Stichproben.

2. Recall_score

Sie gibt den Anteil der korrekt vorhergesagten positiven Ereignisse an. Der Rückruf wird auch als Empfindlichkeit bezeichnet.

3. precision_score

Es zeigt den Anteil der vorhergesagten positiven Ereignisse, die positiv sind.

Nehmen Sie nach der Berechnung all dieser Metriken an, dass Sie das HF-Modell in Bezug auf Erinnerung und Präzision besser finden. Die Wahl wäre hier einfach. Aber was wäre, wenn das LR-Modell eine bessere Erinnerung und das RF-Modell eine bessere Präzision hätte? In diesem Fall benötigen Sie eine andere Methode namens F1-Score.

4. f1_score

Es ist das harmonische Mittel aus Erinnerung und Präzision. Das Modell mit der höheren Punktzahl gilt als die bessere Option.

Die obigen Metriken wurden mit einem definierten Schwellenwert von 0,5 berechnet. Man kann sich fragen, ob eine Änderung dieses Schwellenwerts auch die Leistungsmetriken ändern würde. Die Antwort? Ja, es wird.

Wir haben eine andere Möglichkeit, ein Modell zu bewerten, ohne einen Schwellenwert auszuwählen, dh Receiver Operating Characteristic (ROC)-Kurven. Scikit-learn hat auch eingebaute Funktionen, um sie zu analysieren.

Die Funktionen roc_curve und roc_auc_score nehmen die tatsächlichen Bezeichnungen und prognostizierten Wahrscheinlichkeiten als Eingaben.

  • roc_kurve

Es gibt drei Listen zurück, nämlich Schwellenwerte (eindeutige prognostizierte Wahrscheinlichkeiten in absteigender Reihenfolge), FPR (die Falsch-Positiv-Raten) und TPR (die Richtig-Positiv-Raten).

  • roc_auc_curve

Es findet die Bereiche unter der Kurve sowohl für RF- als auch für LR-Modelle.

Sie können die bessere Leistungsmetrik bestimmen, sobald Sie die ROC-Kurve zeichnen und die AUC zu den Legenden hinzufügen.

Zusammenfassen

Bei Predictive Analytics können Sie aus einer Vielzahl von Metriken wählen. Accuracy, Recall, Precision, f1 und AUC sind einige der beliebtesten Werte.

Einige ziehen es vielleicht vor, einen Schwellenwert zu definieren und Leistungsmetriken wie Genauigkeit, Erinnerung, Präzision und f1-Werte zu verwenden. Andere möchten möglicherweise die AUC verwenden, um die Leistung eines Modells zu analysieren, da keine Schwellenwertauswahl erforderlich ist. Am Ende sollten Sie sich für die Metrik entscheiden, die am besten zum vorliegenden Geschäftsproblem passt.

Damit haben wir Ihnen einen Überblick über sklearn-Metriken gegeben. Sie können diese Informationen verwenden, um die Grundlagen der Python-Programmierung zu verdeutlichen und mit Online-Kursen weiter zu lernen. Sie können auch Projektarbeiten durchführen, um Ihre Fähigkeiten zu üben und zu verfeinern. Programme wie der Master of Science in Machine Learning & Artificial Intelligence von upGrad können bei beidem helfen.

Das Curriculum macht Sie mit dem kompletten Data-Science-Toolkit vertraut und deckt praktische Aspekte von Scikit-Learn und anderer Software ab. Darüber hinaus heben Sie sich durch Zeugnisse von renommierten Instituten wie der Liverpool John Moores University und dem IIIT Bangalore bei Bewerbungen und Vorstellungsgesprächen von der Konkurrenz ab.

Was sind Bewertungsmetriken in Python?

Bewertungsmetriken werden typischerweise für Klassifizierungsprobleme in Python verwendet. Scikit-Learn ist eine kostenlose Bibliothek für maschinelles Lernen, die eine breite Palette von Predictive-Analytics-Aufgaben ermöglicht. Aufstrebende Data Scientists und Machine Learning Engineers können damit Vorhersagen über die Daten treffen und die Qualität bestimmter Modelle analysieren.

Warum brauchen Sie sklearn-Metriken?

Mit Sklearn-Metriken können Sie die Qualität Ihrer Vorhersagen beurteilen. Sie können dieses Modul in Scikit-Learn für verschiedene Datensätze, Bewertungsfunktionen und Leistungsmetriken verwenden. Die Konfusionsmatrix in sklearn ist eine praktische Darstellung der Genauigkeit von Vorhersagen. Mit Eingaben wie tatsächlichen und vorhergesagten Labels sowie einem definierten Schwellenwert oder Konfidenzwert können Sie Metriken wie Erinnerung, Präzision und f1-Werte berechnen. Die ROC-Kurvenmethode gleicht die Wahrscheinlichkeitsschätzungen aus und liefert eine Leistungsmetrik in Bezug auf die Fläche unter der Kurve.

Wie hilft die postgraduale Ausbildung in AI & ML beim beruflichen Aufstieg?

Die meisten fortgeschrittenen Zertifizierungen im Bereich künstliche Intelligenz und maschinelles Lernen beinhalten Tools wie Scikit-Learn im Lehrplan. Es ist ein wesentlicher Bestandteil der Python-Programmierung und des Data Science-Trainings. Aber Programmierrezepte in Python und Scikit-Learn reichen in der heutigen wettbewerbsorientierten Arbeitsumgebung nicht aus. Sie müssen branchenorientiertes Wissen erwerben und Ihre Fähigkeiten üben. Wählen Sie daher Studiengänge, die Möglichkeiten zur Umsetzung von Projekten und Aufgaben bieten.