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.
In den Datensätzen von scikit-learn wird ein Beispiel handgeschriebener Zeichendaten erstellt. Laden Sie es daher.
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.
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.
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. scikit-learn bietet K-Fold für cross_validation. Dieses Mal werden wir eine K-Falte vorbereiten, die die Probendaten in 10 unterteilt.
Ü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)) AdaBoostClassifier(AdaBoost) KNeighborsClassifier ([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).
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.
Das folgende Ergebnis wurde ausgegeben.
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