Ce "répo" github contient le matériel utilisé dans la formation en apprentissage machine organisée par Etienne Dumesnil et Pierre Orban au CRIUSMM à l'automne 2019.
Chaque cours repose sur un notebook Jupyter (https://jupyter.org), une application WEB qui permet de créer et de partager des documents contenant du code et d'en visualiser le résultat. Toutes les démonstrations reposent sur ScikitLearn (https://scikit-learn.org/), une bibliothèque libre Python dédiée à l'apprentissage machine.
Le matériel (notebooks .ipynb
et leurs conversions .pdf
) est disponible dans des dossiers séparés pour les 6 sessions théoriques et de démonstration (cours_1
, cours_2
, cours_3
, cours_4
, cours_5
et cours_6
).
Afin de ne pas requérir des participants à la formation de devoir créer un environnement leur permettant l'exécution fluide des notebooks (anaconda recommandé: https://www.anaconda.com/distribution/), une version interactive est accessible sur Binder (https://mybinder.org) en suivant ce lien:
Les données utilisées pour tous les exemples proviennent de données simulées (fichier /data/sim_data_signature_small.csv
contenant des données transversales pour 543 patients et 90 contrôles, avec 41 variables) à partir de la banque de données Signature (https://www.banquesignature.ca). Il est strictement interdit d'utiliser ces données à d'autres fins que de formation. Toute demande d'accès aux données doit être formulée en bonne et due forme: https://www.banquesignature.ca/demande-acces/faire-une-demande-dacces/
- Statistiques inférentielles vs apprentissage machine
- Interprétation vs prédiction
- Déduction vs induction
- Biais et variance
- Apprentissage machine supervisé vs non supervisé
- Supervisé: régression vs classification
- Non supervisé: réduction vs regroupement
- Concepts fondamentaux de l'apprentissage machine supervisé
- Hyperparamètres et régularisation: ridge, lasso et elastic-net
- Méthodes analytique vs itérative (descente de gradient)
- Validation (croisée, croisée nichée)
- Évaluation: matrice de confusion et courbe "ROC"
- Algorithmes
- Régression logistique
- Machines à vecteurs de support (marges dure vs souple, noyaux linéaire vs non linéaire)
- Autres algorithmes
- Arbres de décision
- Bagging: forêts aléatoires
- Boosting de gradient
- Classification naïve bayésienne
- K plus proches voisins
- Sélection de caractéristiques
- Classification multi-classes
- Réduction de dimensions
- Analyse en composantes principales
- "t-SNE"
- Regroupement
- K-moyennes
- Décalage de moyenne
- "DBSCAN"
- Modèles de mélange gaussien
- Modèles hiérarchiques
- Validation (interne vs externe)
- Modèles d'ensemble
- The hundred pages machine learning book (Burkov, 2019): http://themlbook.com. Version gratuite en ligne, et traduction française disponible sur amazon.
- An introduction to statistical learning with applications in R (James, Witten, Hastie & Tibshirani, 2014): http://faculty.marshall.usc.edu/gareth-james/ISL/. Version gratuite en ligne.
- Introduction to machine learning with Python (Muller & Guido, 2016).