Durée : 50 minutes
L'objectif est de travailler sur un dataset réel (par exemple, le dataset Iris) pour en extraire, à partir d'un prétraitement, un modèle de classification. Vous devrez préparer les données, choisir un modèle et évaluer ses performances.
Objectif : Mettre en place une chaîne complète de traitement incluant chargement, prétraitement, modélisation (avec LogisticRegression) et évaluation du modèle.
iris.csv et convertir la variable catégorielle en codes numériques.StandardScaler.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns
# Chargement du dataset Iris
df = pd.read_csv('iris.csv')
df['species_code'] = df['species'].astype('category').cat.codes
# Sélection des caractéristiques et de la cible
X = df[['sepal_length', 'sepal_width', 'petal_length', 'petal_width']]
y = df['species_code']
# Division en ensembles d'entraînement et de test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Normalisation des données
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# Modélisation avec régression logistique
model = LogisticRegression()
model.fit(X_train_scaled, y_train)
y_pred = model.predict(X_test_scaled)
# Évaluation du modèle
accuracy = accuracy_score(y_test, y_pred)
cm = confusion_matrix(y_test, y_pred)
print("Accuracy :", accuracy)
print("Matrice de confusion :\n", cm)
# Visualisation de la matrice de confusion
plt.figure(figsize=(6,4))
sns.heatmap(cm, annot=True, fmt="d", cmap='Blues',
xticklabels=['setosa','versicolor','virginica'],
yticklabels=['setosa','versicolor','virginica'])
plt.xlabel('Prédiction')
plt.ylabel('Réalité')
plt.title("Matrice de Confusion")
plt.show()
pandas, scikit-learn, matplotlib et seaborn sont installées.Ce projet intègre toutes les étapes du machine learning : préparation des données, normalisation, modélisation et évaluation. La visualisation de la matrice de confusion permet d’apprécier la performance du modèle de manière graphique.