Classification des fleurs Iris avec Scikit-learn

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Ceci est un laboratoire étape par étape pour démontrer l'utilisation de Scikit-learn, une bibliothèque populaire de machine learning en Python. Nous utiliserons le Jeu de données Iris, qui contient des informations sur les attributs physiques de différents types de fleurs de lys. Le but de ce laboratoire est de montrer comment utiliser Scikit-learn pour effectuer des tâches de machine learning de base telles que le chargement de données, le prétraitement des données, la sélection de fonctionnalités et la visualisation.

Conseils sur la VM

Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Importation des bibliothèques

Nous commencerons par importer les bibliothèques nécessaires. Dans ce laboratoire, nous utiliserons Scikit-learn, NumPy et Matplotlib.

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn import datasets
from sklearn.decomposition import PCA

Charger le Jeu de données Iris

Nous allons charger le Jeu de données Iris à l'aide de la fonction intégrée load_iris de Scikit-learn.

iris = datasets.load_iris()
X = iris.data[:, :2]  ## we only take the first two features.
y = iris.target

Visualiser les données

Nous allons visualiser le Jeu de données Iris à l'aide d'un graphique à points dispersés. Nous allons tracer la Longueur du sépale en fonction de la Largeur du sépale, et colorer les points selon leur classe.

x_min, x_max = X[:, 0].min() - 0.5, X[:, 0].max() + 0.5
y_min, y_max = X[:, 1].min() - 0.5, X[:, 1].max() + 0.5

plt.figure(2, figsize=(8, 6))
plt.clf()

## Plot the training points
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Set1, edgecolor="k")
plt.xlabel("Longueur du sépale")
plt.ylabel("Largeur du sépale")

plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
plt.xticks(())
plt.yticks(())

Effectuer l'Analyse en Composantes Principales (PCA)

Nous allons effectuer une Analyse en Composantes Principales (PCA) pour réduire la dimensionalité du jeu de données. Nous allons projeter les données sur les trois premières composantes principales et tracer les résultats en 3D.

fig = plt.figure(1, figsize=(8, 6))
ax = fig.add_subplot(111, projection="3d", elev=-150, azim=110)

X_reduced = PCA(n_components=3).fit_transform(iris.data)
ax.scatter(
    X_reduced[:, 0],
    X_reduced[:, 1],
    X_reduced[:, 2],
    c=y,
    cmap=plt.cm.Set1,
    edgecolor="k",
    s=40,
)

ax.set_title("First three PCA directions")
ax.set_xlabel("1st eigenvector")
ax.xaxis.set_ticklabels([])
ax.set_ylabel("2nd eigenvector")
ax.yaxis.set_ticklabels([])
ax.set_zlabel("3rd eigenvector")
ax.zaxis.set_ticklabels([])

Résumé

Dans ce laboratoire, nous avons appris à charger le Jeu de données Iris à l'aide de Scikit-learn, à visualiser les données à l'aide de Matplotlib et à effectuer une Analyse en Composantes Principales (PCA) à l'aide de Scikit-learn. Nous avons également appris à projeter les données sur les trois premières composantes principales et à visualiser les résultats en 3D.