Skip to content

pnplab/ML_CRIUSMM

Repository files navigation

Formation en apprentissage machine au CRIUSMM

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: Binder

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/

Plan de formation

Cours 1: Intro à l'apprentissage machine

  • 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

Cours 2: Apprentissage machine supervisé - régression

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

Cours 3: Apprentissage machine supervisé - classification

  • É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)

Cours 4: Apprentissage machine supervisé - classification (suite)

  • 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

Cours 5: Apprentissage machine non supervisé

  • 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

Cours 6: Réseaux de neurones (profonds)



Ressources additionnelles

Livres

  • The hundred pages machine learning book (Burkov, 2019): http://themlbook.com. Version gratuite en ligne, et traduction française disponible sur amazon.


  • Introduction to machine learning with Python (Muller & Guido, 2016).

About

Formation en apprentissage machine au CRIUSMM - automne 2019

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages