0% ont trouvé ce document utile (0 vote)
292 vues3 pages

AS With Python

Cet atelier pratique présente l'apprentissage supervisé avec Python. Il introduit des concepts clés comme l'ingénierie des caractéristiques, la classification et l'évaluation de classifieurs. Le document décrit ensuite comment charger un jeu de données, séparer les données d'apprentissage et de test, et entraîner plusieurs classifieurs comme les arbres de décision, les forêts aléatoires et les réseaux de neurones sur le jeu de données.

Transféré par

Abdelhakim Ebdelli
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
292 vues3 pages

AS With Python

Cet atelier pratique présente l'apprentissage supervisé avec Python. Il introduit des concepts clés comme l'ingénierie des caractéristiques, la classification et l'évaluation de classifieurs. Le document décrit ensuite comment charger un jeu de données, séparer les données d'apprentissage et de test, et entraîner plusieurs classifieurs comme les arbres de décision, les forêts aléatoires et les réseaux de neurones sur le jeu de données.

Transféré par

Abdelhakim Ebdelli
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

Apprentissage supervisé avec Python Dr.

Ahmed Maalel

Travaux pratiques en Intelligence Artificielle


Workshop Python for Data Science

Intervenant Dr. Ahmed Maalel [email protected]

Atelier
Apprentissage supervisé avec Python

Contenu − Feature engineering


− Classification
− Evaluation de la qualité d’un classifieur

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 plus de détails concernant :


− Le langage Python vous pouvez aller sur le site suivant : http://www.python-
course.eu/index.php
− La librairie Scikit-learn vous pouvez aller sur le site suivant : http://scikit-learn.org

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).

1. Chargement des données :


Dans un premier temps nous allons importer le jeu de données et analyser ses caractéristiques.

• Importer ce jeu de données avec la librairie pandas (c.f. read_csv)


• Transformer votre jeu de données issue de pandas qui sera de type Data Frame en numpy Array
(c.f. values) et séparer ensuite les variables caractéristiques de la variable à prédire (status) en deux
tableaux différents.

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

2. Séparation des données :


Séparer en deux parties une dite d’apprentissage qui servira à l’apprentissage du classifieur et l’autre dite de test
qui servira à son évaluation. La base de test contiendra 25% des indiviuds de la base totale. (c.f. train_test_split
avec un random_state=1).

3. Apprentissage et évaluation de modèles :

Utiliser ensuite sur votre jeu de données les algorithmes d’apprentissage supervisé suivants :

− Un DecisionTreeClassifier avec comme critère de séparation l’entropy et random_state=0


− Un KNeighborsClassifier avec n_neighbors=5
− Un RandomForestClassifier avec n_estimators=100 et random_state=0
− Un AdaBoostClassifier avec n_estimators=100 et random_state=0 qui existe dans le package
− sklearn.ensemble
− Un ExtraTreesClassifier avec n_estimators=100 et random_state=0 qui existe dans le package
− sklearn.ensemble
− Un Réseau de neurones (MLPClassifier) qui existe dans le package sklearn.neural_network et qui a pour
paramètres (hidden_layer_sizes=(20, 10), alpha=0.001, max_iter=200)

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)

Vous aimerez peut-être aussi