Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (4)

introduction

J'étudie avec ce livre Comment créer une application AI / Machine Learning / Deep Learning avec Python

2-2 Classification des iris

Classifions les iris communs en apprentissage automatique. Pour télécharger, récupérez le fichier CSV à partir de l'URL suivante. https://github.com/pandas-dev/pandas/blob/master/pandas/tests/data/iris.csv Appuyez sur le bouton "Raw" et enregistrez en utilisant la fonction de sauvegarde de votre navigateur. Il a la structure suivante.

Colonne Nom de colonne Signification de la colonne Exemple de valeur
1 SepalLength La longueur de la pièce 5.1
2 SepalWidth Largeur de la pièce 3.5
3 PetalLength Longueur des pétales 1.4
4 PetalWidth Largeur des pétales 0.2
5 Name Variétés d'Ayame Iris-setosa
Variétés d'Ayame
Iris-Setosa
Iris-Versicolor
Iris-Virginica

Iris_name.png

Comment télécharger directement depuis le site

Vous pouvez également le télécharger directement en Python au lieu de l'enregistrer dans votre navigateur.

import urllib.request as req
import pandas as pd

#Téléchargez le fichier
url = "https://raw.githubusercontent.com/pandas-dev/pandas/master/pandas/tests/data/iris.csv" #Pas l'URL précédente
savefile = "iris.csv"
req.urlretrieve(url, savefile)

#Afficher le contenu du fichier téléchargé
csv = pd.read_csv(savefile, encoding="utf-8")
csv

150 lignes de données sont affichées.

Marquer un but

L'objectif est de classer les variétés d'iris en fonction de la longueur et de la largeur des débris et des pétales. Implémentez le programme d'apprentissage automatique dans l'ordre suivant.

  1. Chargez iris.csv téléchargé en tant que données d'iris
  2. Séparez les données sur l'iris en informations sur la longueur et la largeur des restes et des pétales et des informations sur les variétés d'iris (partie étiquette).
  3. Séparez 80% de toutes les données en données d'entraînement et les 20% restants en données de test
  4. Entraînez-vous en utilisant les données d'entraînement et évaluez si elles sont classées correctement lorsque les données de test sont fournies.

Mettre en œuvre le programme

iris.py


import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score

#Lecture des données d'iris
iris_data = pd.read_csv("iris.csv", encoding="utf-8")

#Séparez les données d'iris en étiquettes et en données d'entrée
y = iris_data.loc[:, "Name"]
x = iris_data.loc[:,["SepalLength", "SepalWidth", "PetalLength", "PetalWidth"]]

#Séparé pour l'apprentissage et les tests
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, train_size = 0.8, shuffle = True)

#apprendre
clf = SVC()
clf.fit(x_train, y_train)

#évaluer
y_pred = clf.predict(x_test)
print("Taux de réponse correct:", accuracy_score(y_test, y_pred))
Taux de réponse correct: 0.9333333333333333
/usr/local/lib/python3.6/dist-packages/sklearn/svm/base.py:193: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.
  "avoid this warning.", FutureWarning)

Je reçois un avertissement. Il y a FutureWarning qui dit que dans le futur, le gamma SVC passera de "l'auto" à "l'échelle".

clf = SVC(gamma = "scale")

Si vous écrivez, l'avertissement disparaît. plus loin,

#Séparé pour l'apprentissage et les tests
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, train_size = 0.8, shuffle = True)

Mais dans le futur

[Créez des données d'entraînement et de test avec scikit-learn](https://pythondatascience.plavox.info/scikit-learn/%E3%83%88%E3%83%AC%E3%83%BC%E3% 83% 8B% E3% 83% B3% E3% 82% B0% E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 81% A8% E3% 83% 86% E3% 82% B9% E3% 83% 88% E3% 83% 87% E3% 83% BC% E3% 82% BF)

Il serait préférable de décrire l'option de stratification en référence à.

Recommended Posts

Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (4)
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (1)
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (3)
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (2)
[ML-Aents] J'ai essayé l'apprentissage automatique en utilisant TensorFlow de Unity et Python (compatible v0.11β)
Ce que j'ai appris sur Linux
Ce que j'ai appris en Python
Collecte et automatisation d'images érotiques à l'aide du deep learning
Examen de la méthode de prévision des échanges utilisant le Deep Learning et la conversion en ondelettes - Partie 2
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (4)
J'ai essayé d'étudier le processus avec Python
J'ai installé Python 3.5.1 pour étudier l'apprentissage automatique
Notes personnelles et liens sur l'apprentissage automatique ① (Machine learning)
Créer un environnement pour Python et l'apprentissage automatique (macOS)
Construction d'environnement AI / Machine Learning avec Python
Vulkan compute avec Python avec VkInline et pense à l'apprentissage automatique GPU et plus
Une histoire sur l'apprentissage automatique simple avec TensorFlow
J'ai essayé le web scraping en utilisant python et sélénium
J'ai essayé la détection d'objets en utilisant Python et OpenCV
J'ai commencé l'apprentissage automatique avec le prétraitement des données Python
Apprentissage automatique sur le surapprentissage
Qu'est-ce que l'apprentissage automatique?
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer chapitres 1 et 2
Cette fois, j'ai appris Python I et II à Progate.
[Python] J'ai créé un classificateur pour les iris [Machine learning]
Mémo de construction d'environnement d'apprentissage automatique par Python
Ce à quoi j'étais accro lors de l'utilisation de Python tornado
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
Configurer des bibliothèques Python et d'apprentissage automatique sur Ubuntu
Ce que j'ai appris en lançant un site photo à l'aide de données administratives et de plusieurs API
L'apprentissage automatique appris avec Pokemon
Une note de ce que j'ai appris quand j'ai pensé à utiliser pyenv ou virtualenv sous Windows
Créer un environnement d'apprentissage automatique à l'aide de Python sur MacOSX
À propos des objets et des classes Python
À propos des variables et des objets Python
J'ai commencé l'apprentissage automatique avec le clustering Python, la compression et la visualisation de dimensions
Plan d'apprentissage Python pour l'apprentissage de l'IA
(Remarque) Une histoire sur la création d'un système de questions et réponses à l'aide de Spring Boot et de l'apprentissage automatique (SVM).
Les débutants en Python publient des applications Web à l'aide de l'apprentissage automatique [Partie 1] Introduction
[Python] Chapitre 01-03 À propos de Python (Ecrire et exécuter un programme à l'aide de PyCharm)
Ce que je suis content d'avoir étudié en 2015 et ce que je pense apprendre en 2016
Apprentissage automatique avec Python! Préparation
J'ai comparé Java et Python!
Ce que j'ai appris en résolvant 30 questions du projet python Euler
J'ai essayé d'utiliser Tensorboard, un outil de visualisation pour l'apprentissage automatique
À propos de Python, len () et randint ()
À propos de la date et du fuseau horaire Python
À propos de la matrice mixte d'apprentissage automatique
[Python] Python et sécurité-① Qu'est-ce que Python?
Programmation Python Machine Learning> Mots-clés
Apprentissage automatique Une histoire sur des personnes qui ne sont pas familiarisées avec GBDT utilisant GBDT en Python
Apprentissage automatique et optimisation mathématique
À propos de Python et des expressions régulières
J'ai essayé d'implémenter Extreme Learning Machine
Commencer avec l'apprentissage automatique Python
J'ai appris la grammaire de base de Python
Cette fois, j'ai appris python III et IV avec Prorate
À propos des opérations Python et OS
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python
Python # À propos de la référence et de la copie