Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
11.5 Verschachtelter CV zur Algorithmusauswahl (L11 Model Eval. Teil 4)
11.5 Verschachtelter CV zur Algorithmusauswahl (L11 Model Eval. Teil 4)
Okay, lasst uns in das Thema der Auswahl von Computeralgorithmen eintauchen. In dieser Diskussion konzentrieren wir uns auf eine Technik namens verschachtelte Kreuzvalidierung und untersuchen einige Codebeispiele im kommenden Video. Bevor wir uns mit der verschachtelten Kreuzvalidierung befassen, wollen wir kurz einige wichtige Punkte zusammenfassen, die wir zuvor behandelt haben.
Zuvor haben wir die Drei-Wege-Holdout-Methode als Mittel zur Modellauswahl besprochen. Hier ist eine kurze Zusammenfassung des Prozesses: Wir beginnen mit der Aufteilung unseres Originaldatensatzes in einen Trainingssatz und einen Testsatz. Als nächstes unterteilen wir den Trainingssatz weiter in einen kleineren Trainingssatz und einen Validierungssatz. Der Trainingssatz wird zusammen mit einem Algorithmus für maschinelles Lernen und spezifischen Hyperparameterwerten verwendet, um ein Modell zu trainieren. Durch das Durchlaufen verschiedener Hyperparametereinstellungen erhalten wir mehrere Modelle mit ihren jeweiligen Leistungen. Schließlich wählen wir das Modell mit der höchsten Leistung aus, gemessen am Validierungssatz, und bewerten seine endgültige Leistung am Testsatz. Es ist wichtig, einen unabhängigen Testsatz einzubeziehen, um etwaige Auswahlverzerrungen bei der Modellauswahl abzumildern.
Schauen wir uns das Konzept nun noch einmal an, indem wir zum besseren Verständnis eine andere Figur verwenden. In diesem Diagramm können wir drei Szenarien visualisieren. Im ersten Szenario bewerten wir ein einzelnes Modell, das auf dem Trainingssatz trainiert und auf dem Testsatz ohne Modelloptimierung getestet wird. Dieser Ansatz eignet sich, wenn kein Modelltuning erforderlich ist.
Im zweiten Szenario bewerten wir mehrere Modelle anhand derselben Trainings- und Testsätze. Jedes Modell wird mit unterschiedlichen Hyperparametereinstellungen trainiert, und wir wählen basierend auf der Leistung des Testsatzes das Modell mit der besten Leistung aus. Allerdings kann die mehrfache Verwendung des Testsatzes für die Modellauswahl zu einer Auswahlverzerrung führen, was diesen Ansatz weniger wünschenswert macht.
Das dritte Szenario entspricht der zuvor besprochenen Drei-Wege-Holdout-Methode. Auf dem Trainingssatz werden mehrere Modelle mit unterschiedlichen Hyperparametereinstellungen trainiert. Mithilfe des Validierungssatzes wird dann das leistungsstärkste Modell ausgewählt, das anschließend anhand des Testsatzes bewertet wird. Dieser Ansatz trägt dazu bei, Auswahlverzerrungen zu verringern, indem ein separater Validierungssatz für das Modellranking verwendet wird.
Während die Drei-Wege-Holdout-Methode effektiv ist, ist die k-fache Kreuzvalidierung ein besserer Ansatz, den wir in unserer vorherigen Diskussion behandelt haben. Diese Methode unterteilt die Daten in k Falten, wobei jede Falte abwechselnd als Validierungssatz fungiert, während der Rest als Trainingssatz dient. Dieser Ansatz ist besonders vorteilhaft, wenn die Größe des Datensatzes begrenzt ist. Bei größeren Datensätzen kann ein Drei-Wege-Holdout immer noch eine praktikable Option sein, insbesondere beim Deep Learning, wo die Datensätze typischerweise größer sind und zusätzliche Überlegungen wie die Modellkonvergenz eine Rolle spielen.
Lassen Sie uns nun weitermachen und die verschachtelte Kreuzvalidierung diskutieren, die uns durch den Vergleich verschiedener Algorithmen einen Schritt weiter bringt. Angenommen, wir möchten Algorithmen wie K-nächste Nachbarn, Entscheidungsbäume, Gradient Boosting und Random Forests vergleichen. Jeder Algorithmus wird einer Hyperparameteroptimierung unterzogen, um das beste Modell auszuwählen. Wir führen eine weitere Schleife in das Kreuzvalidierungsverfahren ein, was zu einer verschachtelten Kreuzvalidierung führt. Die äußere Schleife ist für die Modellbewertung verantwortlich, während sich die innere Schleife auf die Optimierung der Hyperparameter konzentriert. Dieses zweistufige Verfahren macht die verschachtelte Kreuzvalidierung komplexer als die reguläre k-fache Kreuzvalidierung, da sie im Wesentlichen aus zwei verschachtelten k-fachen Kreuzvalidierungen besteht.
Um diesen Prozess besser zu verstehen, gehen wir zunächst eine Illustration durch und beginnen mit unserem Originaldatensatz. Stellen Sie sich vor, wir haben einen unabhängigen Testsatz für die endgültige Bewertung, aber vorerst reicht unser Haupttrainingssatz aus. Ähnlich wie bei der k-fachen Kreuzvalidierung durchlaufen wir eine Schleife für eine bestimmte Anzahl von Falten, in diesem Fall sagen wir fünf. In jeder Iteration werden die Daten in Trainingsfalten und eine Testfalte aufgeteilt. Anstatt das Modell jedoch ausschließlich auf der Trainingsfalte zu trainieren und es auf der Testfalte zu evaluieren, fahren wir mit dem nächsten Schritt fort.
Im nächsten Schritt nehmen wir eine der Trainingsfalten, beispielsweise die am unteren Rand des Diagramms, und unterteilen sie weiter in einen kleineren Trainingssatz und einen Validierungssatz. Der kleinere Trainingssatz wird verwendet, um verschiedene Modelle mit verschiedenen Hyperparametereinstellungen zu trainieren, während der Validierungssatz verwendet wird, um das Modell mit der besten Leistung auszuwählen.
Sobald die innere Schleife für die aktuelle Trainingsfalte abgeschlossen ist, haben wir ein ausgewähltes Modell mit den entsprechenden Hyperparametereinstellungen. Anschließend bewerten wir dieses Modell anhand der Testfalte der äußeren Schleife, die während der inneren Schleife nicht verwendet wurde.
Der Vorgang wird für jede Falte in der äußeren Schleife fortgesetzt. Jedes Mal wird eine andere Falte als Testfalte vorgehalten, während die verbleibenden Faltungen zum Training und zur Validierung verwendet werden. Dadurch wird sichergestellt, dass jede Falte sowohl als Testsatz als auch als Validierungssatz verwendet wird und dass jedes Modell anhand eines anderen Datensatzes bewertet wird. Die endgültige Leistung des Modells wird durch die Mittelung der Leistung über alle Falten bestimmt.
Die verschachtelte Kreuzvalidierung hilft uns, verschiedene Algorithmen zu vergleichen, indem sie eine robustere Schätzung ihrer Leistung liefert. Durch mehrmaliges Wiederholen des verschachtelten Kreuzvalidierungsprozesses können wir zuverlässigere und stabilere Leistungsschätzungen erhalten.
Zusammenfassend ist die verschachtelte Kreuzvalidierung eine Technik, die die Vorteile der Modellauswahl und der Optimierung von Hyperparametern kombiniert. Es ermöglicht uns, verschiedene Algorithmen zu vergleichen, indem wir ihre Leistung auf mehreren Datenfalten bewerten und das beste Modell basierend auf verschachtelten Iterationen der Kreuzvalidierung auswählen. Dieser Ansatz trägt dazu bei, Auswahlverzerrungen zu verringern und eine genauere Schätzung der Algorithmusleistung zu ermöglichen.
Im kommenden Video werden wir Codebeispiele untersuchen, um zu demonstrieren, wie verschachtelte Kreuzvalidierung in der Praxis implementiert wird. Seien Sie gespannt auf den nächsten Teil dieser Serie.
11.6 Codebeispiel für einen verschachtelten CV für die Algorithmusauswahl (L11-Modellbewertung, Teil 4)
11.6 Codebeispiel für einen verschachtelten CV für die Algorithmusauswahl (L11-Modellbewertung, Teil 4)
Okay, nachdem wir nun das Konzept hinter der verschachtelten Kreuzvalidierung besprochen haben, wollen wir uns mit einem Codebeispiel befassen. Dieses Beispiel wird Ihnen helfen, die verschachtelte Kreuzvalidierung aus rechnerischer Sicht besser zu verstehen. Darüber hinaus wird es sich bei Ihren Unterrichtsprojekten beim Vergleich von Algorithmen als nützlich erweisen.
Erstens sind die Codebeispiele auf GitHub zu finden. Ich habe sie unter dem Namen „l11_code“ in unser reguläres Klassen-Repository hochgeladen. Es stehen drei Notizbücher zur Verfügung: „verbose_one“, „verbose_two“ und „compact“. Alle drei Notebooks liefern die gleichen Ergebnisse, unterscheiden sich jedoch in ihrem Umsetzungsansatz.
Im Notizbuch „verbose_one“ habe ich einen eher manuellen Ansatz gewählt, indem ich die Methode der geschichteten K-Faltung manuell verwendet habe. Andererseits habe ich im Notizbuch „verbose_two“ die Funktion cross_validate verwendet. Schließlich habe ich im „kompakten“ Notebook cross_val_score verwendet. Jedes Notizbuch bietet bei der Analyse unterschiedliche Informationsebenen. Im Moment empfehle ich, mit dem Notizbuch „verbose_one“ zu beginnen, da Sie bereits mit dem geschichteten k-Falten-Objekt vertraut sind.
Bevor wir fortfahren, ist es erwähnenswert, dass der von Ihnen gewählte Implementierungsansatz keinen wesentlichen Einfluss auf die Ergebnisse hat. Allerdings würde ich die Verwendung des „kompakten“ Notebooks nicht empfehlen, da es weniger Informationen über die Hyperparametersätze bietet. Später kann ich Ihnen kurz zeigen, wie die Hyperparametersätze aussehen, nachdem wir den folgenden Inhalt besprochen haben.
Schauen wir uns nun das Notizbuch „verbose_one“ an, das den manuellen Ansatz zur verschachtelten Kreuzvalidierung demonstriert. In diesem Notizbuch finden Sie eine Darstellung der verschachtelten Kreuzvalidierung und ihrer Funktionsweise. Der Prozess umfasst eine äußere Schleife, die die inneren Schleifen ausführt. Für jede äußere Schleife wird die Falte in Trainings- und Testabschnitte aufgeteilt. Der Trainingsteil wird dann an die innere Schleife übergeben, die die Optimierung der Hyperparameter oder die Modellauswahl durchführt. Dies kann mithilfe der Rastersuche erreicht werden, wie wir in der vorherigen Vorlesung gelernt haben.
Im Notizbuch finden Sie die notwendigen Einrichtungsschritte, wie zum Beispiel den Import benötigter Bibliotheken und Module. Dazu gehören die Rastersuche zur Modelloptimierung in der inneren Schleife, die Aufteilung des Datensatzes mithilfe einer geschichteten k-fachen Kreuzvalidierung, Pipeline, Standardskalare und Klassifikatoren, die wir vergleichen möchten. Für die Zwecke dieses Beispiels verwenden wir eine kleinere Version des „emnes“-Datensatzes, der aus 5000 Trainingsbeispielen besteht, um die rechnerische Durchführbarkeit beizubehalten. Darüber hinaus werden 20 % des Datensatzes als Testdaten reserviert, sodass wir die Leistung der verschachtelten Kreuzvalidierung mit der Leistung des Testsatzes vergleichen können.
Im weiteren Verlauf initialisieren wir die Klassifikatoren, die wir verwenden werden. Der erste Klassifikator ist ein logistischer Regressionsklassifikator, insbesondere ein multinomialer logistischer Regressionsklassifikator. Dieser Klassifikator wird im Deep Learning auch als Softmax-Regression bezeichnet. Obwohl wir es in diesem Kurs nicht behandelt haben, werden wir es in „Statistik 453“ behandeln. Der Grund für die Verwendung dieses Klassifikators besteht darin, ein breiteres Spektrum an Algorithmen vergleichen zu können. Darüber hinaus ist es im Vergleich zu anderen Algorithmen relativ schnell. Ein weiterer relativ schneller Klassifikator, den wir betrachten, ist die Support-Vektor-Maschine, insbesondere die lineare. Durch die Einbeziehung dieser Klassifikatoren wollen wir verschiedene Hyperparametereinstellungen vergleichen.
Es ist wichtig zu beachten, dass entscheidungsbaumbasierte Klassifikatoren wie der Entscheidungsbaum selbst und der Random-Forest-Klassifikator keine Parameterskalierung erfordern. Daher führen wir die Skalierung nur für die anderen Klassifikatoren durch. Um dies zu ermöglichen, verwenden wir Pipelines, die den Standardskalierer mit dem jeweiligen Klassifikator kombinieren. Somit kann die Pipeline als Klassifikator selbst betrachtet werden. Für jeden Klassifikator definieren wir ein Hyperparametergitter, das wir durchsuchen. Diese Gitter enthalten die Parameter, die wir für jeden Klassifikator optimieren möchten. Beispielsweise berücksichtigen wir bei der logistischen Regression die Strafe für die Regularisierungsgewichtung und unterschiedliche Regularisierungsstärken. Bei „Nächste Nachbarn“ werden die Anzahl der nächsten Nachbarn und die Entfernung berücksichtigt.
Im Notizbuch „verbose_one“ fahren wir nach der Definition der Klassifikatoren und ihrer jeweiligen Hyperparameter-Gitter mit dem Einrichten der äußeren und inneren Schleifen für die verschachtelte Kreuzvalidierung fort.
Die äußere Schleife verwendet eine geschichtete k-fache Kreuzvalidierung, um den Datensatz in Trainings- und Testsätze aufzuteilen. Es iteriert über die Falten und verfolgt den Faltenindex, die Trainingsindizes und die Testindizes. Für jede Falte werden die Trainingsdaten weiter in Trainings- und Validierungssätze für die innere Schleife aufgeteilt.
Die innere Schleife führt die Modellauswahl oder Hyperparameteroptimierung mithilfe der Rastersuche durch. Es iteriert über das Hyperparameterraster für jeden Klassifikator und verwendet die Trainings- und Validierungssätze aus der äußeren Schleife, um die besten Hyperparameter für jede Kombination zu finden. Die Rastersuche durchsucht das angegebene Hyperparameterraster umfassend und bewertet die Leistung jeder Kombination mithilfe einer Kreuzvalidierung.
Nach Abschluss der inneren Schleife werden die besten Hyperparameter für jeden Klassifikator aufgezeichnet. Anschließend wird die Leistung der ausgewählten Modelle anhand des Testsatzes bewertet, der zu Beginn beiseite gelegt wurde. Die Bewertungsmetriken wie Genauigkeit, Präzision, Rückruf und F1-Score werden für jeden Klassifikator berechnet.
Abschließend werden die Ergebnisse der verschachtelten Kreuzvalidierung und Testsatzauswertung angezeigt, sodass Sie die Leistung verschiedener Klassifikatoren und ihrer Hyperparametereinstellungen vergleichen können.
Es ist wichtig zu beachten, dass die Notebooks „verbose_two“ und „compact“ alternative Implementierungen einer verschachtelten Kreuzvalidierung mithilfe der Funktion „cross_validate“ bzw. „cross_val_score“ bereitstellen. Diese Funktionen führen einige der Kreuzvalidierungsschritte automatisch durch und vereinfachen so den Code. Im Vergleich zum Notizbuch „verbose_one“ liefern sie jedoch möglicherweise weniger detaillierte Informationen.
Ich hoffe, dieser Überblick hilft Ihnen, die Codebeispiele und die Implementierung einer verschachtelten Kreuzvalidierung zu verstehen. Erkunden Sie die Notizbücher und experimentieren Sie mit verschiedenen Datensätzen und Klassifikatoren, um das Konzept besser zu verstehen.
12.0 Vorlesungsübersicht (L12-Modellbewertung 5: Leistungsmetriken)
12.0 Vorlesungsübersicht (L12-Modellbewertung 5: Leistungsmetriken)
Hallo an alle,
Ich hoffe, Sie hatten alle wundervolle Thanksgiving-Ferien und konnten sich vor den letzten Wochen des Semesters entspannen und neue Kraft tanken. Auch wenn es bedauerlich ist, dass das Semester zu Ende geht, gibt es noch viel zu erwarten, insbesondere auf Ihre Projektpräsentationen. Ich bin gespannt, was Sie auf der Grundlage der in diesem Kurs behandelten Inhalte erstellt haben und werde Zeuge der Kreativität und Anwendung Ihres Wissens über maschinelles Lernen.
In den kommenden zwei Wochen habe ich einige Pläne für unsere verbleibende gemeinsame Zeit. Diese Woche werde ich mich mit der Modellbewertung befassen und mich auf fünf Leistungs- und Bewertungsmetriken konzentrieren. Ziel ist es, Ihren Blickwinkel über die bloße Klassifizierungsgenauigkeit und -fehler hinaus zu erweitern. Wir werden verschiedene Metriken untersuchen, die dabei helfen können, Modelle für maschinelles Lernen effektiv zu bewerten. Ich gehe nicht davon aus, dass dieses Thema viel Zeit in Anspruch nehmen wird. Wenn wir also mehr Zeit haben, werde ich auch auf die Funktionsauswahl eingehen. Ich habe vorhin etwas Selbstlernmaterial zu diesem Thema geteilt, da ich wusste, dass wir möglicherweise nicht die Zeit haben würden, es ausführlich zu behandeln. Ich möchte mich der Herausforderungen bewusst sein, die das Online-Lernen mit sich bringt, und Sie nicht in kurzer Zeit mit zu vielen Themen überfordern. Ich verstehe, dass Sie alle viel zu tun haben, einschließlich der Hausaufgaben 3, die am 4. Dezember fällig sind, und Ihrer Projektpräsentationen im Videoformat am 6. Dezember.
Was die Projektpräsentationen betrifft, werde ich nächste Woche Canvas-Seiten erstellen, auf denen Sie Ihre Präsentationen einbetten können. Darüber hinaus werde ich ein Quizformat zur Abstimmung über die Projektpreise einrichten, darunter das kreativste Projekt, die beste mündliche Präsentation und die beste Visualisierung. Diese Auszeichnungen werden durch Ihre Stimmen ermittelt. Ich glaube, dass es dem Prozess ein zusätzliches Element des Spaßes hinzufügen wird. Ich werde alles für nächste Woche organisieren, das heißt, es finden keine Vorlesungen statt. Ich empfehle jedoch jedem dringend, sich die Projektpräsentationen anzusehen. Für das Ausfüllen von Umfragen zu den Vorträgen werden Punkte vergeben. Es ist auch fair, sich gegenseitig die Präsentationen anzusehen, da Sie sich alle große Mühe geben. Wir können auf der Piazza diskutieren und Fragen stellen oder andere Plattformen erkunden, die eine Interaktion ermöglichen. Ich werde überlegen, wie ich dieses Engagement am besten erleichtern kann.
Bevor wir in die heutige Vorlesung eintauchen, möchte ich Sie an die Lehrveranstaltungsbewertungen erinnern. Unser Fachbereich hat Sie um eine Rückmeldung zu Ihrem Semesterverlauf gebeten. Dieses Jahr war aufgrund des Online-Formats anders, daher wären Ihre Erkenntnisse wertvoll. Ich werde die Links für die Kursbewertungen auf Canvas veröffentlichen. Wir würden uns sehr freuen, wenn Sie sich die Zeit nehmen könnten, diese auszufüllen. Ich möchte jedoch betonen, dass es keine Strafe gibt, wenn Sie sich dafür entscheiden, sie nicht abzuschließen. Es handelt sich lediglich um eine Aufforderung, Ihr Feedback einzuholen.
Nachdem dies gesagt ist, beginnen wir mit Vorlesung 5 über Leistungs- und Bewertungsmetriken. Wir haben bei der Modellevaluierung große Fortschritte gemacht und beginnen mit Bias-Varianz-Zerlegungen, um Überanpassung und Unteranpassung zu verstehen. Wir haben die Holdout-Methode zur Aufteilung von Datensätzen und ihre Fallstricke untersucht, Konfidenzintervalle mithilfe der normalen Approximationsmethode erstellt, Resampling-Techniken wie wiederholtes Holdout und Bootstrapping sowie Kreuzvalidierung für die Modellauswahl. Letzte Woche haben wir statistische Tests für Modell- und Algorithmenvergleiche besprochen, einschließlich verschachtelter Kreuzvalidierung. Heute liegt unser Fokus auf Bewertungsmetriken.
Wir beginnen mit der Diskussion der Verwirrungsmatrix, die sich von der McNemar-Verwirrungsmatrix unterscheidet, die letzte Woche behandelt wurde. Aus der Verwirrungsmatrix können wir Metriken wie die Falsch-Positiv-Rate, die Echt-Positiv-Rate und andere ableiten, die nützlich sein werden, wenn wir uns mit den Betriebseigenschaften des Empfängers befassen. Darüber hinaus untersuchen wir Präzision, Erinnerung, F1-Score, Matthews-Korrelationskoeffizient und ausgewogene Genauigkeit. Letzteres ist besonders nützlich in Fällen, in denen innerhalb des Datensatzes Klassenungleichgewichte bestehen. Gegen Ende werden wir uns mit der Ausweitung binärer Metriken auf Mehrklasseneinstellungen befassen, mit Ausnahme der ausgewogenen Genauigkeit, die bereits mit der Mehrklassenklassifizierung kompatibel ist.
Im nächsten Video beginnen wir unsere Diskussion mit der Verwirrungsmatrix.
12.1 Verwirrungsmatrix (L12-Modellbewertung 5: Leistungsmetriken)
12.1 Verwirrungsmatrix (L12-Modellbewertung 5: Leistungsmetriken)
Beginnen wir mit der Diskussion der Verwirrungsmatrix und ihrer Bedeutung. In der Vorlesung erwähnte der Redner, dass sie aus verschiedenen Gründen keine Vorlesungsnotizen vorbereitet hätten, beispielsweise wegen des geschäftigen Endes des Semesters und der Behandlung des Themas in einem Buch über maschinelles Python-Lernen. Sie schlugen vor, sich für weitere Einzelheiten auf Kapitel 6 des Buches zu beziehen.
Die Verwirrungsmatrix ist ein Werkzeug zur Bewertung der Leistung eines Klassifikators für maschinelles Lernen. Es zeigt den Vergleich zwischen den vorhergesagten Klassenbezeichnungen und den tatsächlichen Klassenbezeichnungen in einem überwachten Klassifizierungsproblem. Die Matrix hilft uns zu verstehen, wie gut der Klassifikator funktioniert und welche Klassenbezeichnungen er tendenziell verwechselt.
Die Verwirrungsmatrix wird normalerweise in einem Zwei-mal-Zwei-Format dargestellt, das auch als Kontingenzmatrix bezeichnet wird. Es besteht aus vier Komponenten: True Positives (TP), False Negatives (FN), False Positives (FP) und True Negatives (TN). Die „positive“ Klasse bezieht sich auf die interessierende Klasse, die wir vorhersagen möchten, während sich die „negative“ Klasse auf die andere Klasse bezieht.
Die wahren Positiven (TP) sind die Instanzen, die zur positiven Klasse gehören und vom Klassifikator korrekt als solche identifiziert werden. Andererseits sind falsch negative Ergebnisse (FN) Instanzen aus der positiven Klasse, die fälschlicherweise als negativ vorhergesagt werden.
Ebenso sind falsch positive Ergebnisse (FP) Instanzen aus der negativen Klasse, die fälschlicherweise als positiv vorhergesagt werden. Schließlich sind echte Negative (TN) Instanzen aus der Negativklasse, die korrekt als negativ identifiziert werden.
Durch die Analyse dieser Komponenten können wir verschiedene Leistungskennzahlen berechnen. In der Vorlesung wurden zwei gängige Metriken erwähnt: Klassifizierungsgenauigkeit und Klassifizierungsfehler. Die Klassifizierungsgenauigkeit wird berechnet, indem die Summe der echten positiven und echten negativen Ergebnisse durch die Gesamtzahl der Vorhersagen dividiert wird. Andererseits wird der Klassifizierungsfehler als eins minus der Genauigkeit berechnet.
Anschließend stellte der Redner den Brustkrebs-Wisconsin-Datensatz vor, der Informationen zu Brustkrebsdiagnosen enthält. Sie erklärten, dass der Datensatz verschiedene Spalten enthält, darunter eine ID-Nummer für jeden Patienten und Merkmale, die aus digitalisierten Bildern von Krebszellkernen extrahiert wurden.
Um den Datensatz für die Klassifizierung vorzubereiten, verwendete der Sprecher einen Label-Encoder von scikit-learn, um die String-Klassenlabels (bösartig und gutartig) in ganzzahlige Labels (0 und 1) umzuwandeln. Sie teilen den Datensatz in einen Trainingssatz (80 %) und einen Testsatz (20 %) auf.
Als nächstes demonstrierte der Redner, wie man mithilfe eines k-Nearest-Neighbor-Klassifikators eine Verwirrungsmatrix zeichnet. Sie betonten die Bedeutung der Merkmalsskalierung für KNN-Klassifikatoren und erwähnten die Verwendung eines Standardskalars und einer Standardpipeline für die Vorverarbeitung.
Um die Verwirrungsmatrix zu visualisieren, verwendete der Sprecher die Funktion „confusion_matrix“ aus der mlxtend-Bibliothek. Die resultierende Verwirrungsmatrix wurde mit matplotlib angezeigt, mit den echten Positiven in der unteren rechten Ecke und den wahren Negativen in der oberen linken Ecke.
Darüber hinaus erwähnte der Redner einige optionale Parameter der confusion_matrix-Funktion, wie zum Beispiel show_absolute und show_normed. Diese Parameter ermöglichen eine individuelle Anpassung der Visualisierung, einschließlich der Anzeige der absoluten Zahlen oder der normalisierten Werte.
Abschließend erörterte der Redner aus der Verwirrungsmatrix abgeleitete Metriken, wie z. B. die Rate wahrer positiver Ergebnisse, die Rate falsch positiver Ergebnisse, die Rate falsch negativer Ergebnisse und die Rate wahrer negativer Ergebnisse. Diese Metriken sind wichtig für die Bewertung der Klassifikatorleistung und werden in späteren Diskussionen in Bezug auf die ROC-Kurve (Receiver Operator Characteristic) weiter untersucht.
Insgesamt liefert die Verwirrungsmatrix wertvolle Einblicke in die Leistung eines Klassifikators und ermöglicht uns die Beurteilung seiner Fähigkeit, Klassenbezeichnungen korrekt vorherzusagen.
12.2 Präzision, Rückruf und F1-Score (L12-Modellbewertung 5: Leistungsmetriken)
12.2 Präzision, Rückruf und F1-Score (L12-Modellbewertung 5: Leistungsmetriken)
Im vorherigen Video haben wir die Verwirrungsmatrix besprochen, die ein nützliches Werkzeug zur Bewertung von Klassifizierungsmodellen ist. Es ermöglicht uns, die Anzahl der wahr-positiven, falsch-positiven, wahr-negativen und falsch-negativen Ergebnisse zu berechnen. Wir haben auch die True-Positiv-Rate und die True-Negativ-Rate untersucht. Jetzt werden wir unser Verständnis erweitern, indem wir drei zusätzliche Metriken einführen: Präzision, Rückruf und F1-Score.
Beginnen wir mit der Präzision. Die Präzision wird berechnet, indem die Anzahl der wahr-positiven Ergebnisse durch die Summe der wahr-positiven und falsch-positiven Ergebnisse dividiert wird. Echte Positive sind die Fälle, die korrekt als positiv vorhergesagt wurden, während falsch positive Fälle die Fälle sind, die fälschlicherweise als positiv vorhergesagt wurden. Im Zusammenhang mit der Spam-Klassifizierung stellen „True Positives“ beispielsweise E-Mails dar, die korrekt als Spam identifiziert wurden, während sich „False Positives“ auf Nicht-Spam-E-Mails beziehen, die fälschlicherweise als Spam klassifiziert wurden. Präzision misst die Genauigkeit positiver Vorhersagen und beantwortet die Frage: Wie viele der vorhergesagten Spam-E-Mails sind tatsächlich Spam?
Als nächstes haben wir die Rückrufrate, die auch als echte positive Rate bezeichnet wird. Der Rückruf wird berechnet, indem die Anzahl der echten positiven Ergebnisse durch die Summe der echten positiven und falsch negativen Ergebnisse dividiert wird. Echt-Positive stellen die Fälle dar, die korrekt als positiv vorhergesagt wurden, und Falsch-Negative stellen die Fälle dar, die fälschlicherweise als negativ vorhergesagt wurden. Der Rückruf gibt an, wie viele der tatsächlich positiven Fälle korrekt als positiv identifiziert wurden. Mit anderen Worten: Es misst die Wirksamkeit eines Klassifikators bei der Erfassung positiver Instanzen.
Eine weitere wichtige Kennzahl ist der F1-Score, der Präzision und Erinnerung in einem einzigen Wert vereint. Zur Berechnung wird das harmonische Mittel aus Präzision und Erinnerung herangezogen, gewichtet mit dem Faktor zwei. Der F1-Score bietet ein ausgewogenes Maß für die Leistung eines Klassifikators unter Berücksichtigung von Präzision und Rückruf. Dies ist besonders nützlich, wenn wir ein Modell bewerten möchten, das sowohl hinsichtlich Präzision als auch Rückruf gute Leistungen erbringt.
Alle diese Kennzahlen liegen im Bereich zwischen null und eins, wobei eins der bestmögliche Wert ist. Was die Terminologie betrifft, so werden Sensitivität und Spezifität häufiger in der Computerbiologie verwendet, während Präzision und Rückruf in der Informationstechnologie, der Informatik und dem maschinellen Lernen beliebter sind. Bei der Auswahl der in einer Arbeit oder Studie zu verwendenden Metriken ist es wichtig, die Konventionen des jeweiligen Fachgebiets zu berücksichtigen.
Um Präzision und Erinnerung besser zu verstehen, visualisieren wir sie mithilfe eines hilfreichen Diagramms aus Wikipedia. In dieser Visualisierung betrachten wir die positive Klasse (z. B. Spam-E-Mails) als alles auf der linken Seite und die negative Klasse als alles auf der rechten Seite. Die Präzision wird durch die wahren positiven Ergebnisse dividiert durch alle vorhergesagten positiven Ergebnisse dargestellt, während die Erinnerung durch die wahren positiven Ergebnisse dividiert durch alle tatsächlichen positiven Ergebnisse dargestellt wird.
Darüber hinaus haben wir zwei weitere häufig verwendete Metriken: Sensitivität und Spezifität. Sensitivität ist ein anderer Begriff für Rückruf und repräsentiert die tatsächliche positive Rate. Spezifität hingegen ist die Anzahl der echten Negative geteilt durch die Anzahl der Negative. Es ergänzt die Sensibilität und konzentriert sich auf die genaue Identifizierung negativer Instanzen.
Lassen Sie uns nun den Matthews-Korrelationskoeffizienten diskutieren. Dieser Koeffizient wurde ursprünglich für die Bewertung von Vorhersagen der Sekundärstruktur von Proteinen in der Biologie entwickelt und misst die Korrelation zwischen wahren und vorhergesagten Markierungen. Er kann als binäres Klassifikationsgegenstück zum Pearson-Korrelationskoeffizienten betrachtet werden. Ähnlich wie Pearsons r liegt der Matthews-Korrelationskoeffizient zwischen -1 und 1, wobei 1 eine perfekte Übereinstimmung zwischen den wahren und vorhergesagten Bezeichnungen anzeigt. Dies ist besonders nützlich bei Problemen mit unausgeglichenen Klassen, bei denen eine Klasse deutlich mehr Beispiele hat als die andere.
Um diese Metriken zu berechnen, können Sie von scikit-learn bereitgestellte Funktionen verwenden, z. B. precision_score, Recall_score, f1_score und matthews_corrcoef. Diese Funktionen verwenden die wahren Beschriftungen und vorhergesagten Beschriftungen als Eingaben und geben die entsprechenden Metrikwerte zurück. Alternativ können Sie diese Metriken bei der Rastersuche und der Optimierung von Hyperparametern verwenden und die gewünschte Metrik als Zeichenfolgenargument bereitstellen.
Wenn Sie bei Problemen mit mehreren Klassen Metriken wie Präzision, Rückruf, F1-Score oder Matthews-Korrelationskoeffizienten verwenden möchten, müssen Sie eine Problemumgehung anwenden. Ein Ansatz besteht darin, die Funktion make_scorer von scikit-learn zu verwenden. Mit dieser Funktion können Sie ein Bewertungsobjekt für eine bestimmte Metrik erstellen.
Wenn Sie beispielsweise den F1-Score für ein Problem mit mehreren Klassen verwenden möchten, können Sie mit make_scorer ein Scorer-Objekt erstellen und den Durchschnittsparameter auf „macro“ oder „micro“ setzen. Die Option „Makro“ berechnet die Metrik unabhängig für jede Klasse und ermittelt dann den Durchschnitt, während die Option „Mikro“ die Gesamtzahl der richtig positiven, falsch negativen und falsch positiven Ergebnisse über alle Klassen hinweg berücksichtigt.
Es ist wichtig zu beachten, dass die Wahl zwischen „Makro“- und „Mikro“-Mittelwertbildung vom Problem und den spezifischen Anforderungen Ihrer Analyse abhängt.
Sie können diese Metriken nicht nur einzeln verwenden, sondern auch bei der Rastersuche und Hyperparameter-Optimierung anwenden. Anstatt die Klassifizierungsgenauigkeit als Bewertungsmetrik zu verwenden, können Sie die gewünschte Metrik als Zeichenfolgenargument im Rastersuchprozess angeben. Dadurch können Sie Ihr Modell basierend auf der gewählten Metrik optimieren und so eine umfassendere Bewertung erhalten, als sich nur auf die Genauigkeit zu verlassen.
Denken Sie daran, dass es bei der Arbeit mit Mehrklassenproblemen und der Anwendung dieser Metriken von entscheidender Bedeutung ist, die Mittelungsoptionen zu verstehen und die geeignete Methode basierend auf Ihren spezifischen Anforderungen auszuwählen.
Zusammenfassend haben wir in diesem Video zusätzliche Bewertungsmetriken für Klassifizierungsmodelle behandelt, darunter Präzision, Rückruf, F1-Score und Matthews-Korrelationskoeffizient. Diese Metriken liefern wertvolle Einblicke in die Leistung eines Klassifikators unter Berücksichtigung von Faktoren wie richtig positiven, falsch positiven und falsch negativen Ergebnissen. Durch die Verwendung dieser Metriken können Sie ein tieferes Verständnis der Leistung Ihres Modells erlangen und fundierte Entscheidungen in Ihrer Analyse oder Forschung treffen. Im nächsten Video werden wir uns mit ausgewogener Genauigkeit, ROC-Kurven (Receiver Operating Characteristic) und der Erweiterung binärer Metriken auf Mehrklasseneinstellungen befassen und so unser Wissen über Bewertungstechniken bei Klassifizierungsaufgaben erweitern.
12.3 Ausgewogene Genauigkeit (L12-Modellbewertung 5: Leistungsmetriken)
12.3 Ausgewogene Genauigkeit (L12-Modellbewertung 5: Leistungsmetriken)
Nun gut, befassen wir uns nun mit dem Konzept der ausgeglichenen Genauigkeit, das besonders hilfreich ist, wenn es um Klassenungleichgewichtsprobleme bei Klassifizierungsaufgaben geht. Ein Klassenungleichgewicht tritt auf, wenn eine Klasse eine deutlich größere Anzahl an Labels aufweist als eine andere Klasse. Um dies zu veranschaulichen, betrachten wir ein Klassifizierungsproblem mit mehreren Klassen am Beispiel von Irisblüten, insbesondere Iris setosa, Iris versicolor und Iris virginica.
Normalerweise berechnen wir die Vorhersagegenauigkeit, indem wir die Werte auf der Diagonale der Verwirrungsmatrix summieren und durch die Gesamtzahl der Beispiele dividieren. Im gegebenen Beispiel haben wir 3 Labels für Klasse Null, 769 Labels für Klasse Eins und 18 Labels für Klasse Zwei. Wie Sie sehen, besteht ein Ungleichgewicht in den Klassen, wobei die erste Klasse im Vergleich zu den beiden anderen Klassen eine höhere Anzahl an Beispielen aufweist. Wenn wir die reguläre Genauigkeit berechnen, läge sie bei etwa 80 %, was hauptsächlich auf die hohe Anzahl von Beispielen der Klasse 1 zurückzuführen ist.
Allerdings liefert die reguläre Genauigkeit möglicherweise keine genaue Darstellung der Modellleistung, insbesondere wenn der Schwerpunkt auf der Erzielung ausgewogener Vorhersagen für alle Klassen liegen sollte. In solchen Fällen zielt die ausgewogene Genauigkeitsmetrik darauf ab, eine gerechtere Bewertung zu ermöglichen, indem jeder Klasse das gleiche Gewicht gegeben wird.
Um die ausgewogene Genauigkeit zu berechnen, betrachten wir jede Klasse als positive Klasse und führen die verbleibenden Klassen zur negativen Klasse zusammen. Konzentrieren wir uns beispielsweise zunächst auf die Klasse Null. Wir behandeln Klasse Null als positive Klasse und kombinieren Klasse Eins und Klasse Zwei als negative Klasse. Durch die Analyse der Verwirrungsmatrix können wir die wahren Positiven, wahren Negativen, falschen Positiven und falschen Negativen für die Klasse Null bestimmen. Dieser Vorgang wird für jede Klasse wiederholt, wodurch separate binäre Klassifizierungsprobleme entstehen.
In Python können Sie die Funktion precision_score aus der mlxtend-Bibliothek verwenden, um die ausgeglichene Genauigkeit zu berechnen. Diese Funktion funktioniert ähnlich wie der precision_score von scikit-learn, enthält jedoch zusätzliche Funktionen zur Berechnung der Genauigkeit der binären Klassifizierung. Indem Sie die Methode als binär angeben und die positive Bezeichnung angeben, können Sie die binäre Genauigkeit für jede Klasse berechnen. Darüber hinaus können Sie den Durchschnittsparameter als „Makro“ oder „Mikro“ verwenden, um die durchschnittliche Genauigkeit pro Klasse direkt zu berechnen.
Im bereitgestellten Beispiel wird die Verwirrungsmatrix neu erstellt und die reguläre Genauigkeit, die durchschnittliche Genauigkeit pro Klasse (ausgeglichene Genauigkeit) und die binäre Genauigkeit werden berechnet. Die binären Genauigkeiten entsprechen jeder Klasse, die separat als positive Bezeichnung behandelt wird. Durch die Mittelung der binären Genauigkeiten erhalten Sie die ausgeglichene Genauigkeit. In diesem Fall beträgt die ausgeglichene Genauigkeit etwa 86 %.
Ausgewogene Genauigkeit oder durchschnittliche Genauigkeit pro Klasse bietet eine faire Bewertung der Leistung eines Klassifikators bei Problemen mit mehreren Klassen und Klassenungleichgewichten. Es berücksichtigt jede Klasse gleichermaßen und bietet Einblicke in die Fähigkeit des Modells, alle Klassen genau vorherzusagen.
Lassen Sie uns nun die ROC-Kurve (Receiver Operating Characteristic) diskutieren, eine weitere wichtige Bewertungsmetrik beim maschinellen Lernen. Die ROC-Kurve ist eine grafische Darstellung der Leistung eines binären Klassifikators und liefert wertvolle Einblicke in den Kompromiss zwischen der True-Positive-Rate (TPR) und der False-Positive-Rate (FPR) bei verschiedenen Klassifizierungsschwellenwerten.
Um die ROC-Kurve zu verstehen, definieren wir zunächst die True-Positive-Rate (TPR) und die False-Positive-Rate (FPR). TPR, auch Sensitivität oder Recall genannt, misst den Anteil tatsächlich positiver Instanzen, die vom Klassifikator korrekt identifiziert werden. Sie wird berechnet als die Anzahl der richtig positiven Ergebnisse dividiert durch die Summe der richtig positiven und falsch negativen Ergebnisse:
TPR = True Positives / (True Positives + False Negatives)
Andererseits misst die Falsch-Positiv-Rate (FPR) den Anteil tatsächlich negativer Fälle, die fälschlicherweise als positiv eingestuft werden. Sie wird berechnet als Anzahl der falsch-positiven Ergebnisse dividiert durch die Summe der falsch-positiven und richtig-negativen Ergebnisse:
FPR = False Positives / (False Positives + True Negatives)
Um die ROC-Kurve zu erstellen, werden die Vorhersagen des Klassifizierers nach ihren Klassifizierungswerten oder -wahrscheinlichkeiten geordnet. Durch Variation des Klassifizierungsschwellenwerts können wir unterschiedliche TPR- und FPR-Werte generieren. Ausgehend von dem Schwellenwert, der alle Instanzen als positiv klassifiziert (was zu einem TPR von 1 und einem FPR von 1 führt), verringern wir schrittweise den Schwellenwert, klassifizieren weniger Instanzen als positiv und reduzieren folglich sowohl den TPR als auch den FPR.
Durch Auftragen des TPR gegen den FPR für jeden Schwellenwert erhalten wir die ROC-Kurve. Die Kurve veranschaulicht die Leistung des Klassifikators über verschiedene Betriebspunkte hinweg, wobei das ideale Szenario eine Kurve ist, die die obere linke Ecke umschließt und einen hohen TPR und einen niedrigen FPR für alle Schwellenwerte anzeigt.
Neben der ROC-Kurve ist eine weitere daraus abgeleitete wichtige Metrik die Fläche unter der ROC-Kurve (AUC-ROC). Der AUC-ROC quantifiziert die Gesamtleistung des Klassifikators durch Berechnung der Fläche unter der ROC-Kurve. Ein perfekter Klassifikator hat einen AUC-ROC von 1, was bedeutet, dass er einen TPR von 1 erreicht und gleichzeitig einen FPR von 0 beibehält. Umgekehrt hat ein zufälliger Klassifikator einen AUC-ROC von 0,5, da er nicht besser abschneidet als der Zufall.
Die ROC-Kurve und AUC-ROC bieten eine umfassende Analyse der Leistung eines binären Klassifikators, unabhängig vom gewählten Klassifizierungsschwellenwert. Es ermöglicht uns, verschiedene Klassifikatoren oder unterschiedliche Einstellungen desselben Klassifikators zu vergleichen und so fundierte Entscheidungen über die Modellauswahl zu treffen.
Um die ROC-Kurve und den AUC-ROC in Python zu berechnen, bieten verschiedene Bibliotheken wie scikit-learn praktische Funktionen an. Diese Funktionen verwenden die wahren Beschriftungen und die vorhergesagten Wahrscheinlichkeiten oder Bewertungen als Eingaben und geben die FPR, TPR und Schwellenwerte für die ROC-Kurve sowie den AUC-ROC-Wert zurück.
Zusammenfassend sind die ROC-Kurve und die AUC-ROC wertvolle Werkzeuge zur Bewertung und zum Vergleich der Leistung binärer Klassifikatoren. Sie liefern Einblicke in den Kompromiss zwischen Richtig-Positiv- und Falsch-Positiv-Raten bei verschiedenen Klassifizierungsschwellenwerten und ermöglichen eine fundierte Entscheidungsfindung bei der Modellauswahl.
12.4 Betriebseigenschaften des Empfängers (L12-Modellbewertung 5: Leistungsmetriken)
12.4 Betriebseigenschaften des Empfängers (L12-Modellbewertung 5: Leistungsmetriken)
Das Diskussionsthema dreht sich um die Receiver Operating Characteristic (ROC)-Kurve. Diese Kurve, auch Receiver Operating Characteristic (ROC)-Kurve genannt, mag aufgrund ihres komplexen Namens wie ein Zungenbrecher klingen. Der Begriff „Betriebscharakteristik des Empfängers“ stammt aus dem Bereich der Radarempfängerbetreiber, die mit Technologien wie der Funkrichtungsmessung arbeiteten. Ursprünglich wurde es in diesem Zusammenhang verwendet. Allerdings hat es im Bereich des maschinellen Lernens aufgrund seiner Fähigkeit, zwei wesentliche Metriken zu kombinieren: die True-Positive-Rate und die False-Positive-Rate, an Popularität gewonnen.
Die ROC-Kurve wird durch Variation des Vorhersageschwellenwerts erstellt. Um dies zu veranschaulichen, betrachten wir ein Beispiel. Bei binären Klassifizierungsproblemen gibt es zwei Klassen: Klasse Null und Klasse Eins. Anstatt eine einfache binäre Klassifizierungsentscheidung zu treffen, können wir jedem Beispiel eine Klassenzugehörigkeitswahrscheinlichkeit zuweisen. Diese Wahrscheinlichkeit kann mithilfe verschiedener Klassifikatoren wie der logistischen Regression, k-nächsten Nachbarn oder Entscheidungsbäumen bestimmt werden. Beispielsweise kann im Fall von k-nächsten Nachbarn die Klassenzugehörigkeitswahrscheinlichkeit als Verhältnis des Vorkommens einer Klasse gegenüber der anderen in der Nachbarschaft berechnet werden.
Betrachten wir ein Beispiel mit dem k-Nearest-Neighbors-Algorithmus. Angenommen, wir haben eine Reihe von Nachbarn und möchten die Klassenzugehörigkeitswahrscheinlichkeit für ein bestimmtes Beispiel bestimmen. Wenn wir beobachten, dass von den fünf nächsten Nachbarn drei zur Klasse Null und zwei zur Klasse Eins gehören, würde die Klassenzugehörigkeitswahrscheinlichkeit für Klasse Null mit 3/5 berechnet, was 0,6 entspricht, und für Klasse Eins mit 2/5 , also 0,4. Diese Wahrscheinlichkeiten können basierend auf einem Schwellenwert angepasst werden.
Der Schwellenwert stellt den Punkt dar, an dem wir die Entscheidung zwischen Klasse Null und Klasse Eins treffen. Wenn wir den Schwellenwert beispielsweise auf 0,5 festlegen, wird jede Wahrscheinlichkeit über 0,5 als Klasse Eins klassifiziert und jede Wahrscheinlichkeit unter 0,5 wird als Klasse Null klassifiziert. Bei der logistischen Regression wird üblicherweise 0,5 als Schwellenwert verwendet. Der Schwellenwert kann jedoch willkürlich sein und hängt von unseren Zielen ab, ob wir für die True-Positive-Rate, die False-Positive-Rate oder andere Kriterien optimieren möchten. Die Wahl des Schwellenwerts beinhaltet auch eine Gleichstandsregel, wie z. B. die Auswahl der niedrigeren Klasse im Falle eines Gleichstands.
Die Receiver Operating Characteristic (ROC)-Kurve veranschaulicht die Leistung eines Klassifikators, indem die True-Positive-Rate (TPR) auf der Y-Achse und die False-Positive-Rate (FPR) auf der X-Achse aufgetragen wird. Jeder Punkt auf der Kurve entspricht einem anderen Schwellenwert. Durch Ändern des Schwellenwerts können wir beobachten, wie sich die Leistung des Klassifikators im Hinblick auf die True-Positive-Rate und die False-Positive-Rate auswirkt. Die Kurve stellt die Empfindlichkeit des Klassifikators gegenüber verschiedenen Schwellenwerten dar und ermöglicht uns so eine umfassende Analyse seines Verhaltens.
Im Hinblick auf die Genauigkeit verwenden wir normalerweise einen festen Schwellenwert, z. B. 0,5, um die Klassenzuordnung zu bestimmen. Für die Betriebskennlinie des Empfängers untersuchen wir jedoch die Empfindlichkeit des Klassifikators, indem wir den Schwellenwert ändern. Auf diese Weise können wir die Auswirkungen unterschiedlicher Schwellenwerte auf die Falsch-Positiv-Rate und die Richtig-Positiv-Rate beurteilen. Die Kurve zeigt verschiedene Punkte an, die unterschiedlichen Schwellenwerten entsprechen, z. B. 0,3, 0,4, 0,5, 0,6 usw. Jeder Punkt auf der Kurve stellt die Leistung des Klassifikators für einen bestimmten Schwellenwert dar.
Schauen wir uns nun das Konzept des Schwellenwerts und seine Beziehung zur Klassenzugehörigkeitswahrscheinlichkeit genauer an. Zuvor sahen wir eine Abbildung, die ein Merkmal auf der x-Achse und die Verschiebung der Entscheidungsgrenze darstellte. Dies war jedoch lediglich eine Abstraktion zum besseren Verständnis. In Wirklichkeit stellt die x-Achse die Klassenzugehörigkeitswahrscheinlichkeit dar.
Ich mache also dort weiter, wo wir aufgehört haben, und erkläre das Code-Snippet weiter. Nachdem wir die Wahrscheinlichkeiten für Klasse eins berechnet haben, verwenden wir die Funktion roc_curve von scikit-learn, um die Falsch-Positiv-Rate (fpr) und die Richtig-Positiv-Rate (tpr) für verschiedene Schwellenwerte zu berechnen. Die Funktion roc_curve verwendet die wahren Bezeichnungen (y_true) und die vorhergesagten Wahrscheinlichkeiten (y_scores) als Eingaben und gibt fpr, tpr und Schwellenwerte zurück.
Als nächstes verwenden wir die Funktion roc_auc_score, um die Fläche unter der Receiver Operating Characteristic Curve (AUC-ROC) zu berechnen. Diese Metrik stellt einen einzelnen Wert bereit, der die Leistung des Klassifikators über alle möglichen Schwellenwerte hinweg zusammenfasst. Eine höhere AUC-ROC weist auf eine bessere Klassifizierungsleistung hin. Wir berechnen den AUC-ROC für die Trainings- und Testsätze separat.
Abschließend zeichnen wir die ROC-Kurve mit Matplotlib. Das Diagramm zeigt die ROC-Kurve für den Trainingssatz in Blau und den Testsatz in Orange. Zur besseren Interpretation fügen wir der Handlung auch Beschriftungen und eine Legende hinzu.
Durch die Visualisierung der ROC-Kurven und die Berechnung des AUC-ROC können wir die Leistung des Klassifikators beurteilen und zwischen den Trainings- und Testsätzen vergleichen. Wenn der AUC-ROC nahe bei 1 liegt, weist dies auf einen guten Klassifikator mit einer hohen Richtig-Positiv-Rate und einer niedrigen Falsch-Positiv-Rate hin. Andererseits deutet ein AUC-ROC nahe 0,5 auf einen zufälligen oder ineffektiven Klassifikator hin.
Zusammenfassend zeigt der Codeausschnitt, wie die ROC-Kurve (Receiver Operating Characteristic) und die Fläche unter der Kurve (AUC) als Bewertungsmetriken für ein binäres Klassifizierungsproblem verwendet werden. Die ROC-Kurve visualisiert den Kompromiss zwischen der True-Positive-Rate und der False-Positive-Rate bei verschiedenen Vorhersageschwellenwerten, während die AUC-ROC einen einzelnen Wert zur Quantifizierung der Leistung des Klassifikators bereitstellt.
12.5 Erweiterung der binären Metrik auf Mehrklassenprobleme (L12-Modellbewertung 5: Leistungsmetriken)
12.5 Erweiterung der binären Metrik auf Mehrklassenprobleme (L12-Modellbewertung 5: Leistungsmetriken)
In diesem Kurs haben wir verschiedene Klassifikatoren besprochen, die erweitert werden können, um mit Einstellungen für mehrere Klassen zu arbeiten. Entscheidungsbäume, k-nächste Nachbarn, Gradient Boosting, Random Forests und andere Klassifikatoren lösen auf natürliche Weise Probleme mit mehreren Klassen. Möglicherweise stoßen Sie jedoch auf Klassifikatoren wie die logistische Regression oder Support-Vektor-Maschinen, die sich besser für die binäre Klassifizierung eignen. In solchen Fällen müssen wir Wege finden, diese binären Klassifizierer zu erweitern, um mehrere Klassen zu verarbeiten.
Ein Ansatz ist die Strategie „Einer gegen den Rest“ oder „Einer gegen alle“, auch bekannt als OvR oder OvA. Dieser Ansatz beinhaltet die Aufteilung des Mehrklassenproblems in separate binäre Klassifizierungsprobleme. Jede Klasse wird in einem binären Klassifikator als positive Klasse behandelt, während die übrigen Klassen als negative Klasse behandelt werden. Wenn wir beispielsweise drei Klassen haben (gelbe Kreise, rote Quadrate und blaue Dreiecke), erstellen wir drei binäre Klassifikatoren: einen zum Klassifizieren der gelben Kreise im Vergleich zum Rest, einen für die roten Quadrate im Vergleich zum Rest und einen für die blauen Dreiecke im Vergleich zum Rest ausruhen. Während des Trainings passen wir alle drei Klassifikatoren an, und während der Vorhersage führen wir alle drei Klassifikatoren aus und wählen den mit dem höchsten Konfidenzwert aus.
Ein anderer Ansatz ist die „Eins-gegen-eins“-Strategie, bei der wir für jedes Klassenpaar einen binären Klassifikator anpassen. Wenn wir drei Klassen hätten, hätten wir drei binäre Klassifikatoren: einen zum Klassifizieren gelber Kreise gegenüber roten Quadraten, einen für gelbe Kreise gegenüber blauen Dreiecken und einen für rote Quadrate gegenüber blauen Dreiecken. Während der Vorhersage führen wir alle Klassifikatoren durch und ermitteln mithilfe der Mehrheitsentscheidung die endgültige Klassenbezeichnung.
Sowohl OvR- als auch OvO-Strategien ermöglichen es uns, binäre Klassifikatoren zu erweitern, um Mehrklassenprobleme zu bewältigen. Allerdings kann OvO rechenintensiv sein, insbesondere wenn die Anzahl der Klassen groß ist, da es die Anpassung mehrerer Klassifikatoren erfordert.
Bei der Bewertung der Leistung von Mehrklassen-Klassifikatoren müssen wir die binären Klassifizierungsmetriken erweitern, um mehrere Klassen zu verarbeiten. Zwei gängige Ansätze hierfür sind Mikro- und Makromittelung. Die Mikromittelung umfasst die Berechnung der Präzision, des Rückrufs und des F1-Scores durch die Aggregation der echten positiven und falsch positiven Ergebnisse aller Klassen. Bei der Makromittelung werden die Präzision, der Rückruf und der F1-Score für jede Klasse separat berechnet und anschließend gemittelt. Bei der Mikromittelung wird jede Instanz oder Vorhersage gleich behandelt, während bei der Makromittelung alle Klassen gleich gewichtet werden. Darüber hinaus gibt es den gewichteten Ansatz, der das Klassenungleichgewicht berücksichtigt, indem er die Anzahl der echten Instanzen für jedes Label berücksichtigt.
In scikit-learn können Sie die Mittelungsmethode (Mikro, Makro oder gewichtet) angeben, wenn Sie Klassifizierungsmetriken wie Präzision, Rückruf und F1-Score verwenden. Beispielsweise können Sie „average='micro'“ oder „average='macro“ verwenden, um die gemittelte Mikro- bzw. Makro-Metrik zu berechnen. Es gibt auch die Receiver Operating Characteristic (ROC) und die Area Under the Curve (AUC)-Bewertung, die mit der Funktion roc_auc_score berechnet werden können. Die Standardmittelungsmethode für ROC AUC ist Makro.
Der Umgang mit Klassenungleichgewichten ist eine weitere Herausforderung bei der Klassifizierung mehrerer Klassen. Zur Lösung dieses Problems können Techniken wie Oversampling und Undersampling eingesetzt werden. Die imbalanced-learn-Bibliothek bietet zusätzliche Methoden zum Umgang mit Klassenungleichgewichten und ist mit scikit-learn kompatibel.
Insgesamt umfasst die Modellbewertung bei der Klassifizierung mehrerer Klassen die Erweiterung binärer Klassifikatoren, die Auswahl geeigneter Mittelungsmethoden für Bewertungsmetriken und die Berücksichtigung von Klassenungleichgewichten. Obwohl wir in diesem Kurs nicht alle Details behandeln konnten, gibt es Ressourcen wie die Dokumentation der Imbalanced-Learn-Bibliothek, die weitere Informationen zu diesen Themen bieten.
13.0 Einführung in die Funktionsauswahl (L13: Funktionsauswahl)
13.0 Einführung in die Funktionsauswahl (L13: Funktionsauswahl)
Hallo an alle! Ich hoffe, dass Sie alle ein produktives Semester hatten und durch diesen Kurs wertvolles Wissen gewonnen haben. Ich verstehe, dass dieses Semester für die meisten von uns ziemlich intensiv war, deshalb wollte ich Sie nicht noch mehr stressen, indem ich Sie mit zusätzlichen Inhalten überhäufte. Ich entschuldige mich jedoch dafür, dass ich bestimmte Themen nicht wie im Lehrplan versprochen abdecken kann. Als Ausgleich habe ich ab heute für die Winterpause einige Bonusvorträge vorbereitet.
In dieser Videoreihe werde ich mich auf die Dimensionsreduzierung konzentrieren, insbesondere auf zwei Methoden: Merkmalsauswahl und Merkmalsextraktion. Diese Techniken sind unglaublich nützlich und wichtig zu verstehen. In der heutigen Vorlesung werden wir uns mit der Funktionsauswahl befassen und untersuchen, wie sie funktioniert, warum sie wichtig ist und welche praktischen Anwendungen sie bietet. In den nächsten Videos werden wir die Feature-Extraktion als alternativen Ansatz behandeln.
Bevor wir uns mit den Besonderheiten der Merkmalsauswahl und Merkmalsextraktion befassen, diskutieren wir kurz das Konzept der Dimensionsreduktion und warum es wichtig ist. Ziel der Dimensionsreduktion ist es, die Anzahl der Features in einem Datensatz zu reduzieren. Betrachten Sie beispielsweise den bekannten Iris-Datensatz, der aus vier Merkmalen besteht: Kelchblattlänge, Kelchblattbreite, Blütenblattlänge und Blütenblattbreite. Bei der Merkmalsauswahl wählen wir eine Teilmenge dieser Merkmale, wie z. B. Kelchblattbreite und Blütenblattlänge, zur Verwendung in unseren Algorithmen für maschinelles Lernen aus. Andererseits umfasst die Merkmalsextraktion die Erstellung neuer Merkmale durch Techniken wie lineare Transformationen. Die Hauptkomponentenanalyse (PCA) ist eine solche Methode, die mehrere Features in einem kleineren Feature-Raum kombiniert.
In dieser Vorlesungsreihe liegt unser Hauptaugenmerk auf der Feature-Auswahl, wobei wir Original-Features aus dem Datensatz auswählen. Bei der Dimensionsreduzierung geht es im Allgemeinen darum, kleinere Merkmalsräume zu schaffen. Warum interessieren uns nun diese kleinerdimensionalen Merkmalsräume? Lassen Sie uns einige Gründe untersuchen:
Fluch der Dimensionalität: Klassifikatoren für maschinelles Lernen haben oft Probleme, wenn die Anzahl der Features zunimmt. Sie können unter Überanpassung leiden, insbesondere bei Algorithmen wie K-nächsten Nachbarn und Entscheidungsbäumen. Durch die Reduzierung des Funktionsumfangs kann die Leistung solcher Algorithmen verbessert werden.
Recheneffizienz: Die Verarbeitung großer Datensätze mit zahlreichen Funktionen kann rechenintensiv sein. Durch die Reduzierung des Funktionsumfangs können wir die Rechenleistung verbessern, ohne die Vorhersageleistung zu beeinträchtigen.
Einfachere Datenerfassung: Manchmal kann eine einfachere Feature-Teilmenge eine ähnliche Leistung erzielen wie eine größere Feature-Teilmenge. Dies kann die Datenerfassung einfacher und kostengünstiger machen, da die Erfassung bestimmter Merkmale möglicherweise billiger oder leichter zugänglich ist.
Speicherplatz: Das Speichern großer Datenmengen kann schwierig und teuer sein. Techniken zur Merkmalsextraktion und -auswahl tragen dazu bei, die Dimensionalität der Daten zu reduzieren und die Speicherung praktikabler und effizienter zu gestalten.
Interpretierbarkeit: Das Verständnis der Funktionen kann bei der Interpretation komplexer Algorithmen für maschinelles Lernen hilfreich sein. Dies ist besonders wichtig in Bereichen, in denen Erklärungen erforderlich sind, wie beispielsweise bei Kreditkartenanträgen von Kunden, wo Kunden das Recht haben, die Grundlage von Entscheidungen zu kennen, die von automatisierten Systemen getroffen werden.
Zusammenfassend kann die Dimensionsreduktion in zwei Teilprobleme unterteilt werden: Merkmalsauswahl und Merkmalsextraktion. In der heutigen Vorlesung konzentrieren wir uns auf die Funktionsauswahl. In der nächsten Vorlesung werden wir die Merkmalsextraktion genauer besprechen.
Um die Bedeutung der Merkmalsauswahl zu veranschaulichen, möchte ich ein Beispiel aus einem Gemeinschaftsprojekt mit Biochemikern vorstellen, das Meerneunaugen untersucht. Ziel war es, einen bundesweiten Mon-Rezeptor-Inhibitor zu finden, um die Population der Meerneunaugen in den Großen Seen zu kontrollieren. Wir nutzten die Merkmalsauswahl, um zu verstehen, welche molekularen Merkmale entscheidend waren. Durch die Bewertung der Leistung verschiedener Merkmalsteilmengen mithilfe eines Klassifikators für maschinelles Lernen haben wir festgestellt, dass bestimmte einfache Merkmale, wie z. B. die Anzahl der Schwefelsauerstoffatome, äußerst informativ sind. Das Hinzufügen weiterer Funktionen verbesserte die Leistung nicht wesentlich, was darauf hindeutet, dass diese einfachen Funktionen für unsere Klassifizierungsaufgabe am wichtigsten waren. Dieses Wissen führte uns dazu, Millionen von Molekülen zu untersuchen und schließlich eine Verbindung zu finden, die eine vielversprechende Hemmung zeigte.
Im Pheromonsignal um einen signifikanten Prozentsatz, indem nur die ausgewählten Merkmale verwendet werden. Dieses Beispiel zeigt die Leistungsfähigkeit der Merkmalsauswahl bei der Identifizierung von Schlüsselkomponenten oder Merkmalen, die zum gewünschten Ergebnis beitragen.
Lassen Sie uns nun tiefer auf die Funktionsauswahl und ihre Relevanz eingehen. Die Merkmalsauswahl ist eine Unterkategorie der Dimensionsreduktion, die darauf abzielt, die Anzahl der Merkmale oder Variablen in einem Datensatz zu reduzieren und gleichzeitig relevante und aussagekräftige Informationen beizubehalten. Das ultimative Ziel besteht darin, den Datensatz zu vereinfachen und die Recheneffizienz, Interpretierbarkeit und Vorhersageleistung zu verbessern.
Es gibt mehrere Gründe, warum die Funktionsauswahl wichtig und vorteilhaft ist. Erstens stellt der Fluch der Dimensionalität eine Herausforderung beim maschinellen Lernen dar. Wenn die Anzahl der Funktionen zunimmt, kann es sein, dass bestimmte Algorithmen eine Leistungseinbuße erleiden oder anfälliger für eine Überanpassung werden. Durch die Reduzierung des Funktionsumfangs können wir diese Probleme abmildern und die Genauigkeit und Zuverlässigkeit der Modelle verbessern, insbesondere für Algorithmen wie K-nächste Nachbarn und Entscheidungsbäume.
Zweitens ist die Recheneffizienz ein wichtiger Gesichtspunkt beim Umgang mit großen Datenmengen. Der Rechenaufwand für das Training und Testen von Modellen für maschinelles Lernen steigt mit der Anzahl der Funktionen. Durch die Auswahl einer Teilmenge relevanter Funktionen können wir den Rechenaufwand reduzieren und den Prozess beschleunigen, ohne die Leistung zu beeinträchtigen.
Darüber hinaus ermöglicht die Funktionsauswahl eine einfachere Datenerfassung. Manchmal kann eine vereinfachte Teilmenge von Features im Vergleich zu einem größeren Feature-Set eine ähnliche Vorhersageleistung bieten. Dies ist besonders wertvoll, wenn die Datenerfassung schwierig oder kostspielig wird. Beispielsweise kann im Zusammenhang mit der medizinischen Diagnose die Identifizierung leicht erhältlicher Merkmale, die dennoch genaue Ergebnisse liefern, Ressourcen sparen und den Prozess für Patienten zugänglicher machen.
Darüber hinaus hilft die Funktionsauswahl bei der Optimierung des Speicherplatzes. Mit dem exponentiellen Wachstum der Datengenerierung wird die Speicherung und Verwaltung großer Datenmengen zu einem wichtigen Problem. Durch die Auswahl relevanter Funktionen können wir den Speicherbedarf reduzieren, ohne die Gesamtleistung oder die aus den Daten gewonnenen Erkenntnisse zu beeinträchtigen.
Darüber hinaus spielt die Interpretierbarkeit eine entscheidende Rolle, insbesondere im Umgang mit automatisierten Systemen oder regulierten Bereichen. Die Merkmalsauswahl hilft dabei, die einflussreichsten und interpretierbarsten Merkmale zu identifizieren und so den Entscheidungsprozess besser zu verstehen und zu erklären. In Kontexten, in denen rechtliche oder ethische Anforderungen Erklärungen für Entscheidungen erfordern, kann die Auswahl von Merkmalen die Einhaltung und Verantwortlichkeit erleichtern.
Zusammenfassend lässt sich sagen, dass die Reduzierung der Dimensionalität, insbesondere die Merkmalsauswahl, zahlreiche Vorteile in verschiedenen Bereichen bietet. Durch die Auswahl der informativsten Funktionen können wir den Fluch der Dimensionalität mildern, die Recheneffizienz verbessern, die Datenerfassung vereinfachen, den Speicherplatz optimieren und die Interpretierbarkeit verbessern. Diese Vorteile tragen zu genaueren und effizienteren Modellen für maschinelles Lernen bei und ermöglichen ein tieferes Verständnis komplexer Probleme.
In den kommenden Vorlesungen werden wir die Merkmalsextraktion als eine weitere Technik zur Dimensionsreduzierung untersuchen. Bei der Merkmalsextraktion geht es darum, die ursprünglichen Merkmale mithilfe von Methoden wie der Hauptkomponentenanalyse (PCA) in einen neuen Satz von Merkmalen umzuwandeln. Dieser Prozess ermöglicht es uns, relevante Informationen zu erfassen und gleichzeitig die Dimensionalität zu reduzieren. Indem wir sowohl die Merkmalsauswahl als auch die Merkmalsextraktion verstehen, können wir die geeignete Technik basierend auf den spezifischen Merkmalen und Anforderungen des Datensatzes und des vorliegenden Problems nutzen.
In der nächsten Vorlesung werden wir uns daher mit der Merkmalsextraktion befassen und ihre Techniken, Vorteile und Anwendungen untersuchen. Bleiben Sie auf dem Laufenden, während wir unsere Reise durch die faszinierende Welt der Dimensionsreduktion und ihre Auswirkungen auf maschinelles Lernen fortsetzen.
13.1 Die verschiedenen Kategorien der Merkmalsauswahl (L13: Merkmalsauswahl)
13.1 Die verschiedenen Kategorien der Merkmalsauswahl (L13: Merkmalsauswahl)
Im vorherigen Video haben wir das Konzept der Merkmalsauswahl als Unterkategorie der Dimensionsreduktion untersucht. Bei der Merkmalsauswahl handelt es sich um die Auswahl von Teilmengen von Merkmalen aus einem Datensatz, um die Leistung von Modellen für maschinelles Lernen zu verbessern. Wir haben verschiedene Beweggründe für die Funktionsauswahl besprochen, z. B. die Verbesserung der Vorhersageleistung und der Recheneffizienz, die Optimierung des Speicherplatzes und die Gewinnung von Einblicken in die Daten.
Lassen Sie uns nun tiefer in die verschiedenen Kategorien von Feature-Auswahlalgorithmen eintauchen: Filtermethoden, eingebettete Methoden und Wrapper-Methoden. Filtermethoden konzentrieren sich auf die intrinsischen Eigenschaften der Features selbst und beinhalten kein Modell oder Klassifikator. Sie analysieren Merkmale anhand ihrer individuellen Merkmale, beispielsweise Varianz oder paarweise Korrelationen. Beispielsweise hilft die Berechnung der Varianz eines Merkmals dabei, seine Nützlichkeit für die Unterscheidung zwischen verschiedenen Trainingsbeispielen zu bestimmen. Wenn die Merkmalswerte über die Achse verteilt sind, zeigt dies ihre Bedeutung an. Andererseits deuten stark korrelierte Merkmale auf Redundanz hin, und eines davon kann ohne großen Informationsverlust eliminiert werden. Filtermethoden werden oft als univariate oder bivariate Statistik bezeichnet, da sie einzelne oder Paare von Variablen analysieren.
Eingebettete Methoden integrieren, wie der Name schon sagt, die Funktionsauswahl in den Lernalgorithmus. Diese Methoden sind in den Modelloptimierungsprozess eingebettet und zielen auf die Optimierung der Zielfunktion ab. Ein Beispiel sind Entscheidungsbäume, bei denen Features intern ausgewählt werden, während der Baum wächst. Der Entscheidungsbaum wählt bei jeder Teilung das Merkmal aus, das den Informationsgewinn maximiert, was zur Auswahl wichtiger Merkmale führt. Nicht verwendete Funktionen im endgültigen Entscheidungsbaum können als weniger wichtig angesehen werden.
Wrapper-Methoden sind eng auf das Ziel ausgerichtet, die Vorhersageleistung zu optimieren. Bei diesen Methoden wird ein Modell an verschiedene Teilmengen von Features angepasst und Features basierend auf der Leistung des Modells ausgewählt oder eliminiert. Durch den Vergleich der Leistung von Modellen, die auf verschiedenen Funktionsteilmengen trainiert wurden, können wir die Bedeutung jeder Funktion bestimmen. Wenn beispielsweise das Entfernen einer Funktion zu einem erheblichen Rückgang der Genauigkeit führt, deutet dies darauf hin, dass die Funktion für die Leistung des Modells wichtig ist. Wrapper-Methoden liefern wertvolle Einblicke in die Bedeutung von Merkmalen, indem sie direkt die Genauigkeit des Modells nutzen.
Während Wrapper-Methoden eine genaue Funktionsauswahl ermöglichen, können sie rechenintensiv sein, insbesondere wenn es um große Funktionsmengen geht. Der Prozess, Modelle an verschiedene Teilmengen anzupassen und ihre Leistung zu bewerten, kann zeitaufwändig sein. Im Gegensatz dazu sind Filtermethoden rechnerisch effizienter, liefern jedoch möglicherweise nicht so genaue Ergebnisse wie Wrapper-Methoden. Der Kompromiss zwischen Genauigkeit und Recheneffizienz ist ein entscheidender Gesichtspunkt bei der Merkmalsauswahl.
In den kommenden Videos werden wir uns eingehender mit den einzelnen Kategorien von Funktionsauswahlalgorithmen befassen. Wir werden Filtermethoden detaillierter untersuchen, gefolgt von eingebetteten Methoden und Wrapper-Methoden. Durch das Verständnis dieser Techniken können wir ein umfassendes Verständnis der Funktionsauswahl und ihrer Anwendung zur Verbesserung von Modellen für maschinelles Lernen erlangen.
Seien Sie gespannt auf das nächste Video, in dem wir ausführlich auf Filtermethoden eingehen.