[PYTHON] Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" aus - Kapitel 2 Schritt 07 Memo "Evaluation"

Inhalt

Dies ist ein Memo für mich, während ich Einführung in Anwendungen zur Verarbeitung natürlicher Sprache in 15 Schritten lese. Dieses Mal werde ich in Kapitel 2, Schritt 07 meine eigenen Punkte aufschreiben.

Vorbereitung

Kapitelübersicht

07.1 Trainings- und Testdaten sowie Übertraining und Verallgemeinerung

Die Überanpassung des Klassifikators an die Trainingsdaten aufgrund des Trainings wird als ** Überlernen ** bezeichnet.

Wenn 100% der in den Trainingsdaten enthaltenen Merkmalsvektoren identifiziert werden können, wird selbst Rauschen, das ignoriert werden kann, zu einer feinen Identifikationsfläche, so dass es korrekt identifiziert werden kann. Die Möglichkeit, stabile Vorhersagen für andere Daten als Trainingsdaten zu treffen, wird als ** Generalisierung ** bezeichnet.

Wenn dieselben Daten für das Training und die Bewertung verwendet werden, wird das übertrainierte System hoch bewertet. Daher müssen ** die Testdaten für die Bewertung mit etwas anderem als den Trainingsdaten bewertet werden **. (Egal wie gut die Trainingsdaten sind, es macht nicht viel Sinn und Sie müssen sicherstellen, dass Sie nicht übertrainiert haben.)

07.2 Bewertungsindex

Artikel Inhalt
Genauigkeit (korrekte Antwortrate) Verhältnis der korrekten Testdaten zu allen Testdaten
Präzision Prozentsatz der korrekten Testdaten unter den für die Zielklasse vorhergesagten Testdaten
Erinnern Prozentsatz der korrekten Vorhersagen der Testdaten für die Zielklasse
F-Wert Ein Index, der das Gleichgewicht zwischen Präzision und Rückruf anzeigt

Implementierung

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

accuracy_score(y_true, y_pred)
precision_score(y_true, y_pred)
recall_score(y_true, y_pred)
f1_score(y_true, y_pred, average='macro')

07.3 Vorsichtsmaßnahmen für die Bewertung

Artikel Inhalt
Untere Genauigkeitsgrenze Die untere Genauigkeitsgrenze ist der Fall der Vorhersage ohne Vermutung.
Anzahl der Klassifizierungsklassen Da der Schwierigkeitsgrad der Mehrklassenklassifizierung naturgemäß höher ist als der der 2-Klassenklassifizierung, weist der Bewertungsindex je nach Anwendung unterschiedliche Werte auf.
Datentyp testen Bei der Bewertung verschiedener Systeme relativ zueinander sollten dieselben Testdaten verwendet werden.
Verzerrung in der Anzahl der Daten Es ist wünschenswert, dass die Testdaten die Daten jeder Klasse so gleichmäßig wie möglich enthalten.

Recommended Posts

Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" aus - Kapitel 2 Schritt 07 Memo "Evaluation"
Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" aus - Kapitel 2 Schritt 06 Memo "Identifier"
Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" aus - Kapitel 2 Schritt 02 Memo "Vorverarbeitung"
Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" - Kapitel 4 Schritt 14 Memo "Hyperparametersuche"
Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" aus - Kapitel 4 Schritt 15 Memo "Datenerfassung"
Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" - Kapitel 3 Schritt 08 Memo "Einführung in neuronale Netze".
Probieren Sie das Buch "Einführung in die Entwicklung natürlicher Anwendungen in 15 Schritten" aus - Kapitel 2 Schritt 05 Memo "Feature Quantity Conversion"
Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" aus - Kapitel 3 Schritt 11 Memo "Worteinbettungen"
Probieren Sie das Buch "Einführung in die Entwicklung natürlicher Anwendungen in 15 Schritten" aus - Kapitel 3 Schritt 13 Memo "Wiederkehrende neuronale Netze"
Probieren Sie das Buch "Einführung in die Entwicklung natürlicher Anwendungen in 15 Schritten" aus - Kapitel 3 Schritt 09 Memo "Identifier by Neural Network"
Probieren Sie das Buch "Einführung in die Entwicklung natürlicher Anwendungen in 15 Schritten" aus - Kapitel 2 Schritt 01 Memo "Erstellen eines Dialogagenten"
Versuchen Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" - Kapitel 2 Schritt 03 Memo "Morphologische Analyse und schriftliches Schreiben"
Versuchen wir das Buch "Einführung in die Entwicklung natürlicher Anwendungen in 15 Schritten" - Kapitel 3 Schritt 10 Memo "Details und Verbesserung des neuronalen Netzes"
Probieren Sie das Buch "Einführung in die Verarbeitung natürlicher Sprachanwendungen in 15 Schritten" - Kapitel 1 Memo "Vorkenntnisse vor Beginn der Übungen".
[WIP] Vorverarbeiten von Notizen in der Verarbeitung natürlicher Sprache
Zusammenfassung von Anfang bis Kapitel 1 der Einführung in Entwurfsmuster, die in der Java-Sprache gelernt wurden
[Kapitel 6] Einführung in Scicit-Learn mit 100 Klopfen Sprachverarbeitung
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Jobwechsel-Meeting] Versuchen Sie, Unternehmen zu klassifizieren, indem Sie Mundpropaganda in natürlicher Sprache mit word2vec verarbeiten
[Verarbeitung natürlicher Sprache] Ich habe diese Woche versucht, die aktuellen Themen in der Slack-Community zu visualisieren
Verwenden Sie die Swagger-Benutzeroberfläche. Wenn Sie einen Swagger-UI-ähnlichen Stil wünschen, kopieren Sie einfach die gesamte Datei unter / dist unter https://github.com/swagger-api/swagger-ui. Danach schreiben Sie einfach hier in index.html die URL der yml-Datei um. Wenn Sie der Meinung sind, dass Sie @ApiModel oder @ApiModelProperty nicht finden können, wurden übrigens anscheinend alle Anmerkungen zur Schemadefinition in @Schema integriert. Emotionsanalyse mit Java, Swagger, OpenAPI, Micronaut Natural Language Processing! Ich habe versucht, die Bewertung anhand des Überprüfungstextes vorherzusagen
[Verarbeitung natürlicher Sprache] Ich habe versucht, die Bemerkungen jedes Mitglieds in der Slack-Community zu visualisieren
[Python] Versuchen Sie, Ramen-Shops durch Verarbeitung natürlicher Sprache zu klassifizieren
Zusammenfassung von Kapitel 2 der Einführung in Entwurfsmuster, die in Java gelernt wurden
Kapitel 4 Zusammenfassung der Einführung in Entwurfsmuster, die in Java gelernt wurden
Zusammenfassung von Kapitel 3 der Einführung in Entwurfsmuster, die in Java gelernt wurden
[Einführung in RasPi4] Umgebungskonstruktion, Mecab des Verarbeitungssystems für natürliche Sprache usw. .. .. ♪
100 Klicks in der Verarbeitung natürlicher Sprache Kapitel 4 Kommentar
100 Sprachverarbeitung Knock Kapitel 1 in Python
Probieren Sie Cython in kürzester Zeit aus
Vorbereitung zum Starten der Verarbeitung natürlicher Sprache
Von der Einführung der GoogleCloudPlatform Natural Language API bis zur Verwendung
Ich habe versucht, die Version 2020 mit 100 Sprachverarbeitung zu lösen [Kapitel 3: Reguläre Ausdrücke 25-29]
100 Klopfen der Verarbeitung natürlicher Sprache Kapitel 1 (Vorbereitungsbewegung)
Einführung in die Überprüfung der Wirksamkeit Kapitel 1 in Python geschrieben
Praktische Warenmitteilung zur Verarbeitung natürlicher Sprache
Lassen Sie die COTOHA-API die schwierigen Dinge tun - Einführung in das "Lernen mit" der Verarbeitung natürlicher Sprache -
Ich habe versucht, die 2020-Version von 100 Sprachverarbeitungsproblemen zu lösen [Kapitel 3: Reguläre Ausdrücke 20 bis 24]
Ich habe versucht, die 2020-Version von 100 Sprachverarbeitungsproblemen zu lösen [Kapitel 1: Vorbereitungsbewegung 00-04]
Ich habe versucht, die 2020-Version von 100 Sprachverarbeitungsproblemen zu lösen [Kapitel 1: Vorbereitungsbewegung 05-09]
Die erste künstliche Intelligenz. Ich wollte die Verarbeitung natürlicher Sprache ausprobieren, daher werde ich die morphologische Analyse mit MeCab mit Python3 versuchen.