Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame

introduction

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

scikit-learn Bibliothèque d'apprentissage automatique utilisée cette fois

Paramètre de problème

Compte tenu de la longueur et de la largeur de chaque pétale et 萼, les variétés d'iris sont identifiées. 0 représente "Setosa". 1 signifie "Versicolor". 2 signifie "Virsinica".

Code source

importer

from sklearn import datasets
from sklearn import svm

Charger des exemples de données

#Lecture des données de mesure de l'iris
iris = datasets.load_iris()

ʻIris` contient les données suivantes

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]
...

Les deux ont 150 éléments. Probablement, il y a 50 réponses correctes pour chacun des «0: Setosa», «1: Versicolor» et «2: Virsinica».

Classification par machine à vecteurs de support

#Machine à vecteur linéaire
clf = svm.LinearSVC()
#Formation avec machine à vecteur de support
clf.fit(iris.data, iris.target)

Entraînez la machine vectorielle de support en utilisant la méthode svm. La machine vectorielle linéaire utilisée cette fois est un modèle qui trace une ligne (ou une surface si elle est 3D) pour regrouper un groupe de plusieurs points entraînés dans un plan (probablement n'importe quel nombre de dimensions). Dans ce cas, il y a quatre données à gérer: "longueur du pétale", "largeur du pétale", "萼 longueur" et "萼 largeur", donc tracez les données de réponse correctes dans un espace à 4 dimensions. Tracez-vous une ligne identifiable? Je pense que le.

Classification

Laissez clf créé ci-dessus lire les trois données et les classer comme "0: Setosa", "1: Versicolor" ou "2: Virsinica".

#Jugez le type
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]]))

résultat

Il y a un avertissement, mais est-il classé?

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]

prime

J'ai essayé de visualiser le type de données du contenu de iris.data

from sklearn import datasets
import matplotlib.pyplot as plt

#Lecture des données de mesure de l'iris
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

En traçant une ligne entre les groupes Setosa, Versicolour et Virginica, on peut comprendre que (bien que les données proches de la ligne Versicolour, Virginica puissent être difficiles), il est susceptible d'être catégorisé grossièrement.

Recommended Posts

Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame
Mémo d'étude Python & Machine Learning ②: Introduction de la bibliothèque
Mémo d'étude Python & Machine Learning: Préparation de l'environnement
Mémo d'étude Python & Machine Learning ③: Réseau neuronal
Mémo d'étude Python & Machine Learning ④: Machine Learning par rétro-propagation
Mémo d'étude Python & Machine Learning ⑥: Reconnaissance des nombres
Mémo d'étude Python & Machine Learning ⑦: Prévision du cours de l'action
Apprentissage automatique par python (1) Classification générale
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
[Mémo d'apprentissage] Bases de la classe par python
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
Algorithme d'apprentissage automatique (implémentation de la classification multi-classes)
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 1
Classe Python (mémo d'apprentissage Python ⑦)
Classification des images de guitare par apprentissage automatique Partie 1
Module Python (mémo d'apprentissage Python ④)
Mémo du cours d'apprentissage automatique
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 2
Classification des images de guitare par apprentissage automatique, partie 2
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 13 Bases du réseau neuronal
Touchons une partie de l'apprentissage automatique avec Python
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer jusqu'à la fin du chapitre 2
Python: apprentissage supervisé (classification)
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer du chapitre 2
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer chapitres 1 et 2
[Python] J'ai créé un classificateur pour les iris [Machine learning]
Résumé du flux de base de l'apprentissage automatique avec Python
Mémo de construction d'environnement d'apprentissage automatique par Python
Gestion des exceptions Python (mémo d'apprentissage Python ⑥)
Techniques liées à l'apprentissage automatique / à la classification
Bases de l'apprentissage automatique (mémoire)
Apprentissage automatique avec Python! Préparation
Bloc-notes de ressources d'étude d'apprentissage automatique
Apprendre avec l'enseignant 1 Principes de base de l'apprentissage avec l'enseignant (classification)
Mémo pratique du système d'apprentissage automatique
Programmation Python Machine Learning> Mots-clés
Importance des ensembles de données d'apprentissage automatique
Machine learning supervisé (classification / régression)
Commencer avec l'apprentissage automatique Python
Créer un environnement d'étude d'apprentissage automatique Python avec macOS Sierra
Programmation Python Machine Learning Chapitre 2 Problèmes de classification - Résumé de la formation à l'algorithme d'apprentissage automatique
Le résultat de l'apprentissage automatique des ingénieurs Java avec Python www
Essayez d'évaluer les performances du modèle d'apprentissage automatique / de classification
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 7 Analyse de régression
Un résumé de l'apprentissage automatique Python pour débutant est très concis.
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en créant le script Python faisant partie du devoir (5)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (16)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (10)
Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python à la tâche (2)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (13)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (9)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (4)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (12)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (1)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (11)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (3)
Cours d'apprentissage automatique à l'Université de Tsukuba: étudier sklearn tout en intégrant le script Python à la tâche (14)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en créant le script Python faisant partie du devoir (6)
Cours d'apprentissage automatique à l'Université de Tsukuba: Étudiez sklearn tout en intégrant le script Python à la tâche (15)