Objectif
Apprendre à charger et visualiser des données avec Python.
📖 Vocabulaire - français / anglais
- jeu de données ↔ *dataset*
- caractéristique ↔ *feature* (une colonne de mesures)
- étiquette ↔ *label* (la réponse : l'espèce)
Code de départ
import pandas as pd
import matplotlib.pyplot as plt
# L'ordre officiel des colonnes du fichier iris.data est :
# sépale, sépale, PUIS pétale, pétale. (Les inverser fausse tout en silence.)
noms = ["longueur_sepale", "largeur_sepale",
"longueur_petale", "largeur_petale", "espece"]
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
try:
df = pd.read_csv(url, names=noms)
except Exception:
# Filet de sécurité si l'URL ne répond pas : Iris est livré avec scikit-learn.
from sklearn.datasets import load_iris
data = load_iris()
df = pd.DataFrame(data.data, columns=noms[:4])
df["espece"] = [data.target_names[t] for t in data.target]
print("Premières lignes :")
print(df.head())
print("\nStatistiques :")
print(df.describe())
Exercice 1.1 - Explorer
✍️ À toi de jouer
Exécute le code ci-dessus, puis réponds :
- Quelle est la longueur moyenne d'un pétale ?
- Quelle est la plus grande largeur de pétale ?
- Combien y a-t-il de fleurs au total ?
Voir la réponse
- Longueur moyenne du pétale : environ 3.76 cm (colonne
longueur_petale, lignemeandedescribe()). - Plus grande largeur de pétale : 2.5 cm (ligne
max). - Total : 150 fleurs (ligne
count).
Si tu obtiens plutôt 5.84 pour la « longueur du pétale », c'est le signe que tes colonnes sont dans le mauvais ordre : tu lis en réalité le sépale. D'où l'importance de l'ordre des noms.
Exercice 1.2 - Le graphique
✍️ À toi de jouer
Colore les points selon l'espèce et affiche le nuage :
plt.scatter(df["longueur_petale"], df["largeur_petale"],
c=df["espece"].astype("category").cat.codes)
plt.xlabel("Longueur du pétale")
plt.ylabel("Largeur du pétale")
plt.title("Les fleurs Iris")
plt.show()
- Vois-tu trois groupes distincts ?
- Quel groupe est le plus isolé ?
- Quels deux groupes se touchent ?
Voir la réponse
- Oui, trois groupes se dessinent.
- Setosa (en bas à gauche) est parfaitement isolé.
- Versicolor et Virginica se chevauchent légèrement au milieu.
La leçon : c'est pour ça que Setosa est facile à classifier. Versicolor contre Virginica, c'est le vrai défi - exactement là où ta règle de la Phase 0 se trompait.