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 cible Survived.
  • Remplacer les valeurs manquantes dans la colonne Age par 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.

Privacy Preference Center