Introduction à Python pour les sciences de données - TECH30724.
H2022-AL
H2022 HY2A
Présentation du cours
Description
Le cours d'introduction au langage Python pour les sciences de données permet d'acquérir les bases en
programmation et de traiter des problématiques d'analytique d'affaires en utilisant les différentes librairies
implémentées dans le logiciel.
Le cours aborde l'utilisation des principales librairies de Python en sciences de données. Entre autres, les
librairies permettant la manipulation, l'analyse, la visualisation et l'exploitation des données.
Thèmes
- Introduction au langage Python
- Programmation en Python - les bases
- Manipulation de table de données avec la librairie Numpy et Pandas
- Analyse et visualisation des données avec la librairie Matplotlib
- Exploitation de données avec la librairie Sckit-Learn
Objectifs
Exécuter un Jupyter notebook et utiliser des librairies Python.
Manipuler des tables de données à l'aide des librairies Numpy et Pandas.
Analyser et visualiser des données à l'aide de la librairie Matplotlib.
Exploitation de données avec la librairie Sckit-Learn.
Approche pédagogique
Cours axé sur la pratique. L'étudiant aura l'occasion de travailler sur des exercices, cas et projets pour
améliorer leur apprentissage.
Coordonnées
Coordonnateur
Page 1 de 13
Christophe Faucher-Courchesne
Chargé(e) de cours
Courriel: [email protected]
Enseignant(s)
Christophe Faucher-Courchesne
Chargé(e) de cours
Courriel: [email protected]
Auxiliaire(s)/stagiaire(s) d'enseignement
Zaid Shoufan
Auxiliaire/stagiaire d'enseignement
Courriel: [email protected]
Soutien administratif
Julie Lascaris
Adjoint(e) aux activités d'enseignement
Courriel: [email protected]
Téléphone: 514-340-7185
Matériel pédagogique
Ressources bibliographiques complémentaires
Matthes, Eric . «Python Crash Course» , No Starch Press
ISSN: 9781593279295
[]
Autre lien
McKinney, Wes . «Python for data analysis» , O'Reilly Media, Inc
ISSN: 9781491957660
[]
Vanderplas, Jacob T . «Python data science handbook» , O'Reilly Media
[]
Autre lien
Évaluations
IMPORTANT
Balises pédagogiques au regard des évaluations des apprentissages
Page 2 de 13
Pour l'évaluation des apprentissages, certaines balises institutionnelles doivent être respectées. En savoir
plus...
Mon principal devoir: être présent en classe
Selon le règlement de l'École, la présence de l'étudiant en classe (ou aux activités du cours) est présumée.
Ainsi, l'enseignant n'est pas tenu de fournir de l'aide ou d'adapter le cours ou son évaluation en raison d'une
absence.
L'intégrité intellectuelle: tout le monde y gagne!
Notez que toute évaluation peut faire l'objet d'une analyse par un logiciel de détection de similitudes.
Informez-vous sur les façons d'éviter le plagiat et attention aux travaux d'équipe et à la collaboration hors-
classe! Pour en savoir plus sur l'intégrité intellectuelle...
Les examens: à vérifier avant le jour J!
1. La validité de sa carte d’étudiant. En savoir plus...
2. L'horaire et la salle de l'examen (dans HEC en ligne)
3. La documentation autorisée à l'examen (dans mon site ZoneCours)
4. La conformité de ma calculatrice. En savoir plus...
1 - 4 quiz (15 %)
Lieu : À la maison
Mode de remise : Électronique
Modalité : Écrit
Mode de travail : Individuel
Préparation à l'évaluation
IMPORTANT
Conseils pendant chaque évaluation dans TQ.docx
(Conseils pendant chaque évaluation dans TQ.docx)
2 - Travail partie 1 (15 %)
Mode de travail : Individuel
Préparation à l'évaluation
Les fichiers et les consignes seront disponibles dans la section Remise de travaux.
3 - Travail partie 2 (30 %)
Mode de travail : En équipe
Préparation à l'évaluation
Les fichiers et les consignes seront disponibles dans la section Remise de travaux. Il faut une moyenne d'au
moins 50% dans les évaluations individuelles pour que la note du travail d'équipe soit considérée dans la
note finale.
Page 3 de 13
4 - Examen final (40%)
Lieu: En classe
Mode de remise: Papier / Électronique
Modalité: Écrit
Mode de travail: Individuel
Organisation du cours
Concepts de base en Python
1 - Introduction
Description
IMPORTANT
L'étudiant aura fait l'installation d'Anaconda, un environnement d'exécution pour le langage Python avant la
première séance de cours.
Cette première séance se veut une introduction au langage de programmation Python et à son utilisation en
science des données.
Objectifs
À la fin de la séance, l'étudiant sera capable de :
naviguer au sein de la distribution Anaconda
exécuter des programmes Python à l'aide de Jupyter Notebook
afficher et mettre en forme les résultats de ses programmes
Activités/Ressources avant la séance
Installation.pdf
(Installation.pdf)
Vidéo d'installation [Vidéo]
Activités/Ressources pendant la séance
Séance 1.zip
(Séance 1.zip)
Séance 1.pptx
(Séance 1.pptx)
Page 4 de 13
Activités/Ressources après la séance
IMPORTANT
L'étudiant doit s'assurer d'être en mesure d'utiliser Jupyter notebook avant les prochaines séances.
2 - Variables
Description
Les variables constituent la base de tout programme informatique. L'apprentissage des principaux types de
variables en Python est la première étape nécessaire pour parvenir à l'utilisation du langage de
programmation en science des données.
Objectifs
À la fin de la séance, l'étudiant sera capable de :
définir des variables selon les bonnes pratiques
effectuer des opérations sur les variables
convertir des variables
Activités/Ressources pendant la séance
Séance 2.zip
(Séance 2.zip)
Séance 2.pptx
(Séance 2.pptx)
Activités/Ressources après la séance
Syntaxe.zip
(Syntaxe.zip)
Ces exercices servent uniquement à pratiquer la syntaxe des variables du langage Python.
Consultez la section «Séances 1 à 4 - Exercices» pour obtenir les exercices qui vont au-delà de la syntaxe.
3 - Structure de contrôle
Description
Page 5 de 13
Un programme plus complexe requiert l'utilisation de structures qui permettent de modifier l'ordre
d'exécution. Cette séance présente les structures de contrôle supportées par le langage Python.
Objectifs
À la fin de la séance, l'étudiant sera capable de :
effectuer des comparaison entre des variables
utiliser les instructions if, while et for
utiliser les ensembles par compréhension
Activités/Ressources pendant la séance
Séance 3.zip
(Séance 3.zip)
Séance 3.pptx
(Séance 3.pptx)
Activités/Ressources après la séance
Consultez la section «Séances 1 à 4 - Exercices» pour obtenir les exercices.
4 - Fonctions et exceptions
Description
Les fonctions permettent de structurer un programme et d'éviter les redondances. Une bonne utilisation de
Python en science des données requiert l'implantation et l'utilisation de fonctions.
Objectifs
À la fin de la séance, l'étudiant sera capable de :
créer ses propres fonction en Python
gérer les exceptions pour éviter les erreurs
Activités/Ressources pendant la séance
Séance 4.zip
(Séance 4.zip)
Séance 4.pptx
Page 6 de 13
(Séance 4.pptx)
Activités/Ressources après la séance
Consultez la section «Séances 1 à 4 - Exercices» pour obtenir les exercices.
Séances 1 à 4 - Exercices
Description
Les exercices et le solutionnaire sont contenus dans le fichier ci-dessous. Il est important de réaliser les
exercices avant de consulter le solutionnaire. En pratique, un tel solutionnaire existe rarement et il est
nécessaire de tester son programme soi-même.
Activités/Ressources pendant la séance
Exercices.zip
(Exercices.zip)
Activités/Ressources après la séance
Vidéo exercices 1 à 5 [Vidéo]
Vidéo exercices 6 à 14 [Vidéo]
Vidéo exercices 15 à 20 [Vidéo]
Manipulation des données
5 - Numpy
Description
Les librairies permettent l'ajout de plusieurs fonctionnalités et des gains d'efficacité. Numpy est une
librairie à la base des autres librairies essentielles en sciences de données.
Objectifs
À la fin de la séance, l'étudiant sera capable de :
installer et importer des modules
Page 7 de 13
utiliser des arrays Numpy
utiliser les fonctions principales de la librairie Numpy
Activités/Ressources pendant la séance
Séance 5.zip
(Séance 5.zip)
Séance 5.pptx
(Séance 5.pptx)
Activités/Ressources après la séance
Exercices.zip
(Exercices.zip)
Vidéo exercices numpy [Vidéo]
6 - Pandas
Description
Pandas est une librairie qui permet de lire, manipuler et analyser des structures de données. Il s'agit de l'une
des librairies les plus importantes en science des données.
Objectifs
À la fin des deux séances, l'étudiant sera capable de :
définir des structures de données Pandas
manipuler et traiter les structures de données
importer des fichiers de données
Activités/Ressources pendant la séance
Séance 6-7.zip
(Séance 6-7.zip)
Séance 6-7.pptx
(Séance 6-7.pptx)
Activités/Ressources après la séance
Les exercices se trouvent dans la section «7 - Pandas (suite)»
Page 8 de 13
7 - Pandas (suite)
Description
Pandas est une librairie qui permet de lire, manipuler et analyser des structures de données. Il s'agit de l'une
des librairies les plus importantes en science des données.
Objectifs
À la fin des deux séances, l'étudiant sera capable de :
définir des structures de données Pandas
manipuler et traiter les structures de données
importer des fichiers de données
Activités/Ressources après la séance
Exercices.zip
(Exercices.zip)
Vidéo exercices pandas [Vidéo]
8 - Visualisation
Description
L'expression « une image vaut mille mots » est particulièrement pertinente en science des données. À cet
effet, une bonne utilisation des librairies de visualisation de Python permet de mettre en évidence certaines
caractéristiques des ensembles de données.
Objectifs
À la fin de la séance, l'étudiant sera capable de :
utiliser Matplotlib, Seaborn et Pandas pour représenter graphiquement des structures de données
modifier les paramètres de mise en page des graphiques
Un chapitre facultatif est proposé pour l'étudiant curieux d'en apprendre davantage sur les options de
visualisation.
Activités/Ressources pendant la séance
Page 9 de 13
Séance 8.zip
(Séance 8.zip)
Séance 8.pptx
(Séance 8.pptx)
Activités/Ressources après la séance
Exercices.zip
(Exercices.zip)
Vidéo exercices visualisation [Vidéo]
Exploitation des données
9 - Apprentissage automatique
Description
Les deux séances consacrées à l'apprentissage automatique se veulent une brève introduction aux concepts
généraux. Plus particulièrement, l'utilisation de Python dans des cas de base d'apprentissage supervisé est
présentée.
Objectifs
À la fin des deux séances, l'étudiant sera capable de :
Reconnaître les fonctionnalités générales de la librairie Scikit-Learn
Préparer un ensemble de données en vue d'une utilisation dans un contexte d'apprentissage automatique
Appliquer un modèle simple d'apprentissage automatique
Activités/Ressources pendant la séance
Séance 9-10.zip
(Séance 9-10.zip)
Séance 9-10.pptx
(Séance 9-10.pptx)
10 - Apprentissage automatique (suite)
Description
Page 10 de 13
Les deux séances consacrées à l'apprentissage automatique se veulent une brève introduction aux concepts
généraux. Plus particulièrement, l'utilisation de Python dans des cas de base d'apprentissage supervisé est
présentée.
Objectifs
À la fin des deux séances, l'étudiant sera capable de :
Reconnaître les fonctionnalités générales de la librairie Scikit-Learn
Préparer un ensemble de données en vue d'une utilisation dans un contexte d'apprentissage automatique
Appliquer un modèle simple d'apprentissage automatique
Projet pratique
11 - Projet pratique
Description
Les problématiques en sciences de données sont résolues en combinant préparation, manipulation,
visualisation et exploitation des données. Ces dernières séances permettent d'être confronté à un exemple
concret pouvant être résolu à l'aide des notions apprises dans le cadre du cours.
Objectifs
À la fin des deux séances, l'étudiant sera capable de :
mettre à profit les différents acquis pour résoudre une problématique d'affaires en sciences de données
Activités/Ressources pendant la séance
Séance 11-12.zip
(Séance 11-12.zip)
12 - Projet pratique (suite)
Description
Les problématiques en sciences de données sont résolues en combinant préparation, manipulation,
visualisation et exploitation des données. Ces dernières séances permettent d'être confronté à un exemple
concret pouvant être résolu à l'aide des notions apprises dans le cadre du cours.
Objectifs
Page 11 de 13
À la fin des deux séances, l'étudiant sera capable de :
mettre à profit les différents acquis pour résoudre une problématique d'affaires en sciences de données
Travaux pratiques
Travail pratique 1
Description
IMPORTANT
TP 1 : à déterminer
TP 2 : à déterminer
TP 3 : à déterminer
Activités/Ressources pendant la séance
Activités/Ressources après la séance
Travail pratique 2
Description
IMPORTANT
TP 1 : à déterminer
TP 2 : à déterminer
TP 3 : à déterminer
Activités/Ressources pendant la séance
Activités/Ressources après la séance
Travail pratique 3
Description
IMPORTANT
TP 1 : à déterminer
TP 2 : à déterminer
TP 3 : à déterminer
Page 12 de 13
Activités/Ressources pendant la séance
Activités/Ressources après la séance
Page 13 de 13