Introduction à l'apprentissage automatique avec scikit-learn
Cette série de vidéos vous apprendra comment résoudre des problèmes d'apprentissage automatique à l'aide de la populaire bibliothèque scikit-learn de Python. Il existe 10 didacticiels vidéo totalisant 4,5 heures, chacun avec un notebook Jupyter correspondant.
Vous pouvez regarder l'intégralité de la série sur YouTube et visualiser tous les cahiers à l'aide de nbviewer.
La série est également disponible sous forme de cours en ligne gratuit comprenant un contenu mis à jour, des quiz et un certificat d'achèvement.
Remarque : Les blocs-notes de ce référentiel ont été mis à jour pour utiliser Python 3.9.1 et scikit-learn 0.23.2. Les blocs-notes originaux (montrés dans la vidéo) utilisaient Python 2.7 et scikit-learn 0.16 et peuvent être téléchargés à partir de la branche archive. Vous pouvez découvrir comment j'ai mis à jour le code dans cet article de blog.
Table des matières
Qu’est-ce que le Machine Learning et comment ça marche ? (vidéo, cahier)
- Qu’est-ce que l’apprentissage automatique ?
- Quelles sont les deux principales catégories de Machine Learning ?
- Quels sont quelques exemples d’apprentissage automatique ?
- Comment « fonctionne » le Machine Learning ?
Configuration de Python pour le Machine Learning : scikit-learn et Jupyter Notebook (vidéo, notebook)
- Quels sont les avantages et les inconvénients de scikit-learn ?
- Comment installer scikit-learn ?
- Comment utiliser le bloc-notes Jupyter ?
- Quelles sont les bonnes ressources pour apprendre Python ?
Débuter dans scikit-learn avec le célèbre jeu de données iris (vidéo, notebook)
- Qu'est-ce que le célèbre ensemble de données iris et quel est son lien avec le Machine Learning ?
- Comment charger l'ensemble de données sur l'iris dans scikit-learn ?
- Comment décrivons-nous un ensemble de données en utilisant la terminologie du Machine Learning ?
- Quelles sont les quatre exigences clés de scikit-learn pour travailler avec des données ?
Entraîner un modèle de Machine Learning avec scikit-learn (vidéo, notebook)
- Qu'est-ce que le modèle de classification des K-voisins les plus proches ?
- Quelles sont les quatre étapes de la formation et de la prédiction de modèles dans scikit-learn ?
- Comment puis-je appliquer ce modèle à d’autres modèles de Machine Learning ?
Comparaison des modèles d'apprentissage automatique dans scikit-learn (vidéo, cahier)
- Comment puis-je choisir le modèle à utiliser pour ma tâche d’apprentissage supervisé ?
- Comment puis-je choisir les meilleurs paramètres de réglage pour ce modèle ?
- Comment puis-je estimer les performances probables de mon modèle sur des données hors échantillon ?
Pipeline de science des données : pandas, seaborn, scikit-learn (vidéo, cahier)
- Comment utiliser la bibliothèque pandas pour lire des données en Python ?
- Comment utiliser la bibliothèque Seaborn pour visualiser des données ?
- Qu’est-ce que la régression linéaire et comment ça marche ?
- Comment entraîner et interpréter un modèle de régression linéaire dans scikit-learn ?
- Quelles sont les mesures d’évaluation des problèmes de régression ?
- Comment puis-je choisir les fonctionnalités à inclure dans mon modèle ?
Validation croisée pour le réglage des paramètres, la sélection du modèle et la sélection des fonctionnalités (vidéo, cahier)
- Quel est l'inconvénient d'utiliser la procédure de répartition train/test pour l'évaluation du modèle ?
- Comment la validation croisée K-fold surmonte-t-elle cette limitation ?
- Comment la validation croisée peut-elle être utilisée pour sélectionner les paramètres de réglage, choisir entre les modèles et sélectionner les fonctionnalités ?
- Quelles sont les améliorations possibles de la validation croisée ?
Recherche efficace des paramètres de réglage optimaux (vidéo, notebook)
- Comment la validation croisée K-fold peut-elle être utilisée pour rechercher un paramètre de réglage optimal ?
- Comment rendre ce processus plus efficace ?
- Comment rechercher plusieurs paramètres de réglage à la fois ?
- Que faites-vous de ces paramètres de réglage avant de faire de véritables prédictions ?
- Comment réduire les dépenses de calcul de ce processus ?
Évaluation d'un modèle de classification (vidéo, cahier)
- Quel est le but de l’évaluation du modèle et quelles sont les procédures d’évaluation courantes ?
- À quoi sert la précision de la classification et quelles sont ses limites ?
- Comment une matrice de confusion décrit-elle les performances d'un classificateur ?
- Quelles métriques peuvent être calculées à partir d’une matrice de confusion ?
- Comment pouvez-vous ajuster les performances du classificateur en modifiant le seuil de classification ?
- A quoi sert une courbe ROC ?
- En quoi l’aire sous la courbe (AUC) diffère-t-elle de la précision de la classification ?
Construire un workflow de Machine Learning (vidéo, notebook)
- Pourquoi devriez-vous utiliser un Pipeline ?
- Comment encoder des fonctionnalités catégorielles avec OneHotEncoder ?
- Comment appliquer OneHotEncoder aux colonnes sélectionnées avec ColumnTransformer ?
- Comment créer et valider de manière croisée un pipeline ?
- Comment faire des prédictions sur de nouvelles données à l’aide d’un Pipeline ?
- Pourquoi devriez-vous utiliser scikit-learn (plutôt que pandas) pour le prétraitement ?
Vidéo bonus
Lors de la conférence PyCon 2016, j'ai enseigné un didacticiel de 3 heures qui s'appuie sur cette série de vidéos et se concentre sur les données textuelles . Vous pouvez regarder la vidéo du didacticiel sur YouTube.
Voici les sujets que j'ai abordés :
- Construction de modèles dans scikit-learn (rafraîchissement)
- Représenter du texte sous forme de données numériques
- Lire un ensemble de données textuelles dans des pandas
- Vectoriser notre jeu de données
- Construire et évaluer un modèle
- Comparaison des modèles
- Examiner un modèle pour en savoir plus
- Pratiquer ce workflow sur un autre ensemble de données
- Réglage du vectoriseur (discussion)
Visitez ce référentiel GitHub pour accéder aux blocs-notes du didacticiel et à de nombreuses autres ressources recommandées.