AS With Python
AS With Python
Ahmed Maalel
Atelier
Apprentissage supervisé avec Python
Dans cet atelier pratique, vous allez expérimenter des algorithmes de traitement de données pour
répondre à différents problèmes liés à l’apprentissage supervisé avec le langage Python. Python est un
langage de programmation très polyvalent et modulaire, qui est utilisé aussi bien pour écrire des
applications comme YouTube, que pour traiter des données scientifiques. Par conséquent, il existe de
multiples installations possibles de Python. L’utilisateur débutant peut donc se sentir dérouté par
l’absence d’une référence unique pour Python scientifique. Le plus simple pour ce TP est d’installer, la
suite scientifique Anaconda développée par l’entreprise Continuum :
http://continuum.io/downloads.html
Anaconda rassemble tout le nécessaire pour l’enseignement de Python scientifique : le langage Python
et ses modules scientifiques. Sur le plan des packages Python, vous allez utiliser Scikit-learn. Cette
libraire montre dans cette situation tout son intérêt. La plupart des techniques récentes d’apprentissage
sont en effet expérimentées avec Scikit-learn et le plus souvent mises à disposition de la communauté
scientifique.
Pour lancer le notebook Python, il faut taper la commande jupyter notebook dans votre dossier de
travail. Une fenêtre va se lancer dans votre navigateur pour ouvrir l’application Jupyter. Créer un
nouveau notebook Python et taper le code suivant dans une nouvelle cellule :
import numpy as np
np.set_printoptions(suppress=True)
import pandas as pd
import warnings
import matplotlib.pyplot as plt
warnings.filterwarnings('ignore')
1
Apprentissage supervisé avec Python Dr. Ahmed Maalel
L’objectif dans cette partie est de construire un bon classifieur sur un jeu de données de churn du fichier
"Churn_Modelling.csv". On cherche si un client d’une banque va partir à la concurrence ou non (Exited).
Analyser les propriétés de vos données : taille de l’échantillon (c.f. shape), nombre d’exemples positifs
et négatifs (c.f. hist).
2
Apprentissage supervisé avec Python Dr. Ahmed Maalel
Utiliser ensuite sur votre jeu de données les algorithmes d’apprentissage supervisé suivants :
Si vous ne connaissez pas le fonctionnement précis de l’un de ces algorithmes, n’hésitez pas à consulter la
documentation de Scikit-learn. Attention, la plupart de ces algorithmes ont des paramètres qu’il vous faudra
prendre en compte lors de vos expérimentations. Vous en choisirez quelques-uns que vous ferez varier afin
d’observer l’effet pratique de ces paramètres sur les résultats obtenues (par exemple k pour les k-plusproches
voisins ou le nombre d’arbres dans un Random Forest).
Vous allez développer une fonction pour comparer les résultats obtenus à l’aide de plusieurs algorithmes sur
ce jeu de données. Cette comparaison s’appuiera sur l’estimation de l’accuracy_score et le recall_score. Il
faut calculer la moyenne des deux mesures pour faire votre choix.
def ClassifieurExcited (Xtrain,Xtest,Ytrain,Ytest)