Introduction au Machine Learning avec Python : Votre Premier Modèle IA de A à Z
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
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.
Commentaires
Enregistrer un commentaire