L’intelligence artificielle, souvent associée à des concepts abstraits et complexes, devient accessible grâce à Python. Aujourd’hui, vous allez découvrir comment créer un modèle de machine learning qui apprend à prédire si un passager du Titanic a survécu ou non. Ce projet concret vous donnera une vraie compréhension de ce qu’est l’IA appliquée.
Étape 1 : Comprendre les données et le rôle de df
Dans ce tutoriel, nous utilisons un jeu de données très célèbre : celui du Titanic. Chaque ligne représente un passager, avec des colonnes comme son âge, son sexe, sa classe dans le bateau, le prix payé pour son billet, et surtout, s’il a survécu (Survived = 1) ou non (Survived = 0).
Quand on lit ce fichier CSV avec pandas, on stocke les données dans une structure appelée DataFrame, abrégée en df. Un DataFrame est un tableau à deux dimensions : les colonnes sont les variables (âge, sexe…), et chaque ligne est un exemple (un passager). Voici comment on charge ce fichier :
import pandas as pd
df = pd.read_csv('https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv')
print(df.head())
Étape 2 : Nettoyage des colonnes – pourquoi et comment
Le jeu de données brut contient beaucoup de colonnes inutiles ou incomplètes. Par exemple, les colonnes Name, Ticket, ou Cabin sont peu pertinentes pour notre tâche. De plus, certaines lignes n’ont pas de valeur dans la colonne Age.
Nous allons donc :
- Sélectionner les colonnes pertinentes :
Pclass(classe sociale),Sex,Age,Fare, et la cibleSurvived. - Remplacer les valeurs manquantes dans la colonne
Agepar la médiane. - Convertir les valeurs textuelles (comme « male » et « female ») en nombres.
df = df[['Pclass', 'Sex', 'Age', 'Fare', 'Survived']]
df['Age'].fillna(df['Age'].median(), inplace=True)
df['Sex'] = df['Sex'].map({'male': 0, 'female': 1})
Étape 3 : Séparation entre variables explicatives et cible
Le machine learning fonctionne ainsi : on donne au modèle des entrées (par exemple Age, Sex, Fare) et on lui demande d’apprendre à prédire une sortie(Survived). On sépare donc notre tableau en deux :
X = df[['Pclass', 'Sex', 'Age', 'Fare']]
y = df['Survived']
Ensuite, pour bien évaluer notre modèle, on le teste sur des données qu’il n’a jamais vues :
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Étape 4 : Entraînement du modèle
On utilise ici un arbre de décision, un algorithme simple mais très efficace pour des jeux de données de ce type :
from sklearn.tree import DecisionTreeClassifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
Étape 5 : Évaluation de la précision
On peut maintenant mesurer la qualité de notre modèle :
from sklearn.metrics import accuracy_score
y_pred = model.predict(X_test)
print("Précision :", accuracy_score(y_test, y_pred))
Étape 6 : Utilisation du modèle sur un cas réel
Imaginons que vous ayez un nouveau passager et que vous vouliez prédire s’il aurait survécu. Voici un exemple :
import numpy as np
# Exemple : femme de 29 ans, en 2e classe, billet à 25 €
nouveau_passager = np.array([[2, 1, 29, 25]])
prediction = model.predict(nouveau_passager)
print("Survivante" if prediction[0] == 1 else "Non survivante")
Conclusion : vous venez de construire une intelligence artificielle
Vous avez vu comment charger des données, les nettoyer, entraîner un modèle, le tester, puis l’utiliser. Ce n’est pas de la théorie : c’est le cœur même du machine learning. Python rend cela accessible à tous, même sans être mathématicien ou ingénieur.
Le monde de l’IA ne vous est plus fermé. Il vous appartient maintenant de continuer à explorer, tester, modifier les paramètres, changer d’algorithme, et surtout : pratiquer.
