[PYTHON] [Maschinelles Lernen] Überprüfen Sie die Leistung des Klassifikators anhand handgeschriebener Zeichendaten

Hallo. Dies ist Hayashi @ Ienter.

Im vorherigen Blog wurde das Bild mithilfe des k-Averaging-Algorithmus von scikit-learn und OpenCV entfärbt.

Diesmal unter Verwendung des handgeschriebenen Zeichendatenbeispiels, das in scicit-learn erstellt wurde Lassen Sie uns eine einfache Leistungsprüfung mehrerer Klassifizierer durchführen.

Handschriftliche Zeichendaten lesen

In den Datensätzen von scikit-learn wird ein Beispiel handgeschriebener Zeichendaten erstellt. Laden Sie es daher. shot1.png

Die erklärende Variable X ist ein Array von Bilddaten von 0 bis 9, und die Zielvariable Y ist ein Array von Zahlen von 0 bis 9, die jedem Bild entsprechen.

Die ersten Daten der X-Daten sind solche 64 numerischen Arrays. shot2.png

Tatsächlich handelt es sich bei diesem Array um Bilddaten mit einer Größe von 8 x 8 als Bild Verarbeiten wir das Array und zeigen die ersten 20 Daten an. Das Bild wird als Graustufenpixelbild angezeigt.

shot3.png

K-fache Kreuzungsüberprüfung

Dieses Mal werden wir die Genauigkeit des Klassifikators mithilfe der "K-fachen Kreuzungsüberprüfung" bewerten. "K-fache Kreuzungsüberprüfung" unterteilt eine Probengruppe in K Blöcke und wertet K-1 Blöcke als Trainingsdaten und den verbleibenden 1 Block als Testdaten aus. Außerdem wird der Testblock beim Umschalten vom 1. auf den K-ten ausgewertet. Das Bild ist wie folgt. shot4.png scikit-learn bietet K-Fold für cross_validation. Dieses Mal werden wir eine K-Falte vorbereiten, die die Probendaten in 10 unterteilt. shot5.png

Klassifikator zu bewerten

Überprüfen Sie die Leistung der folgenden Klassifizierer. LogisticRegression (LogisticRegression) GaussianNB ([Naive Bayes](https://ja.wikipedia.org/wiki/Simple Bayes Classifier)) SVC ([Support Vector Machine](https://ja.wikipedia.org/wiki/Support Vector Machine) ))) DecisionTreeClassifier ([Decision Tree](https://ja.wikipedia.org/wiki/Decision Tree)) RandomForestClassifier ([Random Forest](https://ja.wikipedia.org/wiki/Random Forest)) AdaBoostClassifierAdaBoostKNeighborsClassifier ([K Nachbarschaftsmethode](https://ja.wikipedia.org/wiki/K Nachbarschaftsmethode) )))

Überprüfen Sie für SVC die Kerneltypen mit drei Typen: "rbf (Gaußscher Kernel)", "linearer (linearer Kernel)" und "Poly (Polypoly-Kernel)".

Bereiten Sie ein Array vor, dessen Elemente die Klassifikatorinstanz und den Namen sind (siehe unten). shot6.png

Informationen zur Leistungsprüfung

Leistungsprüfungen werden basierend auf der Genauigkeit und Analysegeschwindigkeit jedes Klassifikators bewertet. Für die Genauigkeit werden 10 Vorhersage-Tests in K-fach bewertet und mit Genauigkeit_Wert in sklearn.metrics gemittelt. Darüber hinaus misst die Analysegeschwindigkeit die Zeit, die vom Lernen (Anpassen) bis zur Vorhersage (Vorhersagen) benötigt wird. Nehmen Sie den Durchschnitt. shot7.png

Das folgende Ergebnis wurde ausgegeben. shot8.png

Die drei Arten von Kerneln, "SVC" (Support Vector Machine) und "K Neighbors Classifier" (K-Neighborhood-Methode), liefern gute numerische Werte.

Die höchste Genauigkeit ist SVC-rbf, aber die Analysezeit scheint einige Zeit zu dauern. KNeighborsClassifier ist die zweite Zahl in der Genauigkeit, aber die Analysegeschwindigkeit ist viermal schneller als bei SVC-rbf.

Der K-NeighborsClassifier-Klassifikator, der Genauigkeit und Geschwindigkeit umfassend bewertet, ist wahrscheinlich der leistungsstärkste Klassifikator in diesem Test.

Das ist alles für diese Geschichte!

Recommended Posts

[Maschinelles Lernen] Überprüfen Sie die Leistung des Klassifikators anhand handgeschriebener Zeichendaten
Prognostizieren Sie das Geschlecht von Twitter-Nutzern durch maschinelles Lernen
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Aufzeichnung der ersten Herausforderung des maschinellen Lernens mit Keras
Richten Sie die Anzahl der Stichproben zwischen Datenklassen für maschinelles Lernen mit Python aus
Vorhersage der Zielzeit eines vollständigen Marathons mit maschinellem Lernen - Visual: Visualisierung von Daten mit Python-
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Regression zu bewerten
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 2)
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Klassifizierung zu bewerten
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 1)
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Unausgeglichenes Datenlernen mit maschinellem Lernen k-NN
Überprüfen Sie die Existenz der Datei mit Python
Feature Engineering für maschinelles Lernen ab Teil 1 Google Colaboratory - Validierung und Diskriminierung von Zähldaten
Die Geschichte des tiefen Lernens mit TPU
Überprüfen Sie das Datum der Flaggenpflicht mit Python
Über die Entwicklungsinhalte des maschinellen Lernens (Beispiel)
Ich habe mit der maschinellen Vorverarbeitung von Python Data begonnen
Konvertieren Sie den Zeichencode der Datei mit Python3
Überprüfen Sie den Status der Daten mit pandas_profiling
Lassen Sie uns den Bevölkerungsübergang von Matsue City, Präfektur Shimane, mit offenen Daten überprüfen
Wichtige Punkte von "Maschinelles Lernen mit Azure ML Studio"
Der erste Schritt des maschinellen Lernens ~ Für diejenigen, die versuchen möchten, mit Python zu implementieren ~
Informationen zur Datenvorverarbeitung von Systemen, die maschinelles Lernen verwenden
Eindrücke vom Udacity Machine Learning Engineer Nano-Abschluss
Über das Testen bei der Implementierung von Modellen für maschinelles Lernen
Ich habe die Leistung von 1 Million Dokumenten mit mongoDB gemessen
Berechnen Sie das Produkt von Matrizen mit einem Zeichenausdruck?
Ich habe mit Docker eine API erstellt, die den vorhergesagten Wert des maschinellen Lernmodells zurückgibt
Versuchen Sie, COVID-19 Tokyo-Daten mit Python zu kratzen
Mit den Daten von COVID-19 wurde ein Netzwerkdiagramm erstellt.
Einführung in das maschinelle Lernen mit scikit-learn-Von der Datenerfassung bis zur Parameteroptimierung
Das Ergebnis des maschinellen Lernens von Java-Ingenieuren mit Python www
Umfrage zum Einsatz von maschinellem Lernen in realen Diensten
Vorhersage des Vorhandenseins oder Nichtvorhandenseins von Untreue durch maschinelles Lernen
Überprüfen Sie den Speicherstatus des Servers mit dem Befehl Linux free
Überprüfen Sie den Betriebsstatus des Servers mit dem Linux-Befehl top
Die Geschichte eines Rubinisten, der mit Python :: Dict-Daten mit Pycall kämpft
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
So erhöhen Sie die Anzahl der Datensatzbilder für maschinelles Lernen
[Maschinelles Lernen] Ich habe versucht, die Theorie von Adaboost zusammenzufassen
Versuchen Sie, Merkmale von Sensordaten mit CNN zu extrahieren
Grundlagen des maschinellen Lernens (Denkmal)
Maschinelles Lernen mit Python! Vorbereitung
Maschinelles Lernen Minesweeper mit PyTorch
Überprüfen Sie den Code mit flake8
Bedeutung von Datensätzen für maschinelles Lernen
Beginnend mit maschinellem Python-Lernen
Versuchen Sie es mit Kaggle leicht maschinell
Ich habe versucht, Othello AI mit Tensorflow zu machen, ohne die Theorie des maschinellen Lernens zu verstehen ~ Einführung ~
Für Sie, die beim Lernen mit maschinellem Lernen plötzlich auf das Protokoll schauen ~ Muskeltraining mit LightGBM ~
Ich habe versucht, Othello AI mit Tensorflow zu erstellen, ohne die Theorie des maschinellen Lernens zu verstehen ~ Implementierung ~
Speichern Sie das Ergebnis des Crawls mit Scrapy im Google Data Store
Informationen zur Lernmethode mit Originaldaten von CenterNet (Objekte als Punkte)
Überprüfen Sie den Speicherschutz von Linux Kern mit Code für ARM
Wie nutzt man maschinelles Lernen für die Arbeit? 01_ Den Zweck des maschinellen Lernens verstehen
[Einführung in Style GAN] Einzigartiges Lernen von Animation mit Ihrer eigenen Maschine ♬
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!