Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame

Einführung

① https://qiita.com/yohiro/items/04984927d0b455700cd1 ② https://qiita.com/yohiro/items/5aab5d28aef57ccbb19c ③ https://qiita.com/yohiro/items/cc9bc2631c0306f813b5 ④ https://qiita.com/yohiro/items/d376f44fe66831599d0b Fortsetzung

scikit-learn Diesmal verwendete Bibliothek für maschinelles Lernen

Problemeinstellung

Anhand der Länge und Breite jedes Blütenblatts und 萼 werden die Irisarten identifiziert. 0 steht für "Setosa". 1 steht für "Versicolor". 2 steht für "Virsinica".

Quellcode

importieren

from sklearn import datasets
from sklearn import svm

Laden von Beispieldaten

#Iris-Messdaten lesen
iris = datasets.load_iris()

"Iris" enthält die folgenden Daten

iris.data


[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
...

iris.target


[0 0 ... 1 1 ... 2 2]
...

Beide haben 150 Elemente. Wahrscheinlich sind 50 korrekte Antwortdaten für "0: Setosa", "1: Versicolor" und "2: Virsinica" enthalten.

Klassifizierung nach Support Vector Machine

#Lineare Vektormaschine
clf = svm.LinearSVC()
#Training mit Support Vector Machine
clf.fit(iris.data, iris.target)

Trainieren Sie die Support-Vektor-Maschine mit der Methode "svm". Die diesmal verwendete lineare Vektormaschine ist ein Modell, das eine Linie (oder eine Oberfläche, wenn es sich um 3D handelt) zeichnet, um eine Gruppe mehrerer Punkte zu gruppieren, die in eine Ebene (wahrscheinlich eine beliebige Anzahl von Dimensionen) getrieben werden. In diesem Fall müssen vier Daten verarbeitet werden: "Blütenblattlänge", "Blütenblattbreite", "萼 Länge" und "萼 Breite". Zeichnen Sie daher die richtigen Antwortdaten in einem 4-dimensionalen Raum. Zeichnen Sie eine identifizierbare Linie? Ich glaube, dass der.

Einstufung

Lassen Sie clf, das oben erstellt wurde, die drei Daten lesen und klassifizieren Sie sie entweder als "0: Setosa", "1: Versicolor" oder "2: Virsinica".

#Beurteilen Sie den Typ
print(clf.predict([[5.1, 3.5, 1.4, 0.1], [6.5, 2.5, 4.4, 1.4], [5.9, 3.0, 5.2, 1.5]]))

Ergebnis

Es gibt eine Warnung, aber ist sie klassifiziert?

C:\Anaconda3\python.exe C:/scikit_learn/practice.py
C:\Anaconda3\lib\site-packages\sklearn\svm\_base.py:947: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
  "the number of iterations.", ConvergenceWarning)
[0 1 2]

Bonus

Ich habe versucht zu visualisieren, welche Art von Daten der Inhalt von iris.data ist

from sklearn import datasets
import matplotlib.pyplot as plt

#Iris-Messdaten lesen
iris = datasets.load_iris()

# Setosa, Versicolour, Virginica
sepal_length = [[], [], []]
petal_length = [[], [], []]
sepal_width = [[], [], []]
petal_width = [[], [], []]

for num, data in enumerate(iris.data):
    cls = iris.target[num]
    sepal_length[cls].append(data[0])
    petal_length[cls].append(data[1])
    sepal_width[cls].append(data[2])
    petal_width[cls].append(data[3])

plt.subplot(1,2,1)
plt.scatter(sepal_length[0], petal_length[0], c="red", label="Setosa", marker="+")
plt.scatter(sepal_length[1], petal_length[1], c="blue", label="Versicolour", marker="+")
plt.scatter(sepal_length[2], petal_length[2], c="green", label="Virginica", marker="+")
plt.xlabel('sepal_length')
plt.ylabel('petal_length')
plt.legend()

plt.subplot(1,2,2)
plt.scatter(sepal_width[0], petal_width[0], c="red", label="Setosa", marker="+")
plt.scatter(sepal_width[1], petal_width[1], c="blue", label="Versicolour", marker="+")
plt.scatter(sepal_width[2], petal_width[2], c="green", label="Virginica", marker="+")
plt.xlabel('sepal_width')
plt.ylabel('petal_width')
plt.legend()

plt.show()

iris.png

Durch Zeichnen einer Linie zwischen den Gruppen Setosa, Versicolour und Virginica kann verstanden werden, dass (obwohl die Daten in der Nähe der Linie Versicolour, Virginica schwierig sein können) sie wahrscheinlich grob kategorisiert werden.

Recommended Posts

Python & Machine Learning Study Memo ⑤: Klassifikation von Ayame
Python & Machine Learning Study Memo Introduction: Einführung in die Bibliothek
Python & Machine Learning Study Memo: Vorbereitung der Umgebung
Python & Machine Learning Study Memo ③: Neuronales Netz
Python & maschinelles Lernen Lernnotiz Machine: Maschinelles Lernen durch Rückausbreitung
Python & Machine Learning Study Memo ⑥: Zahlenerkennung
Python & Machine Learning Study Memo ⑦: Aktienkursprognose
Maschinelles Lernen mit Python (1) Gesamtklassifizierung
"Scraping & maschinelles Lernen mit Python" Lernnotiz
[Memo] Maschinelles Lernen
Klassifikation des maschinellen Lernens
[Lernnotiz] Grundlagen des Unterrichts mit Python
Ich habe Python 3.5.1 installiert, um maschinelles Lernen zu studieren
Algorithmus für maschinelles Lernen (Implementierung einer Klassifizierung mit mehreren Klassen)
Maschinelles Lernen eines jungen Ingenieurs Teil 1
Python-Klasse (Python-Lernnotiz ⑦)
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 1
Python-Modul (Python-Lernnotiz ④)
Memo zum Kurs für maschinelles Lernen
Maschinelles Lernen eines jungen Ingenieurs Teil 2
Klassifizierung von Gitarrenbildern durch maschinelles Lernen Teil 2
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 13 Grundlagen des neuronalen Netzwerks
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Python-Lernnotiz für maschinelles Lernen von Chainer bis zum Ende von Kapitel 2
Python: Überwachtes Lernen (Klassifizierung)
Python-Lernnotiz für maschinelles Lernen von Chainer aus Kapitel 2
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 1 und 2
[Python] Ich habe einen Klassifikator für Iris erstellt [Maschinelles Lernen]
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Konstruktionsnotiz für eine maschinelle Lernumgebung von Python
Behandlung von Python-Ausnahmen (Python-Lernnotiz ⑥)
Techniken im Zusammenhang mit maschinellem Lernen / Klassifizierung
Grundlagen des maschinellen Lernens (Denkmal)
Maschinelles Lernen mit Python! Vorbereitung
Lernressourcen-Lernblock für maschinelles Lernen
Lernen mit dem Lehrer 1 Grundlagen des Lernens mit dem Lehrer (Klassifizierung)
Praktisches Memo zum maschinellen Lernsystem
Python Machine Learning Programming> Schlüsselwörter
Bedeutung von Datensätzen für maschinelles Lernen
Überwachtes maschinelles Lernen (Klassifikation / Regression)
Beginnend mit maschinellem Python-Lernen
Erstellen Sie mit macOS sierra eine Python-Lernumgebung für maschinelles Lernen
Python Machine Learning Programming Kapitel 2 Klassifizierungsprobleme - Zusammenfassung des Trainingsalgorithmus für maschinelles Lernen
Das Ergebnis des maschinellen Lernens von Java-Ingenieuren mit Python www
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Klassifizierung zu bewerten
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 7 Regressionsanalyse
Die Zusammenfassung des maschinellen Lernens in Python für Anfänger ist sehr kurz.
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (5).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (16).
Kurs für maschinelles Lernen an der Tsukuba University: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (10).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (2).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (13).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (9).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (4).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript in die Aufgabe aufnehmen (12).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (1)
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (11).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (3).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (14).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (6).
Kurs für maschinelles Lernen an der Tsukuba-Universität: Lernen Sie sklearn, während Sie das Python-Skript zu einem Teil der Aufgabe machen (15).