Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Comment un ordinateur apprend-il à partir d'exemples ?

Après cette leçon: Je peux dire comment un ordinateur apprend à classer à partir d'exemples.

Leçon de 50 min2 commandesLab JupyterLab de science des données : pandas, Matplotlib et scikit-learn dans le navigateur

Un filtre qui reconnaît le courrier indésirable

L'apprentissage automatique est une méthode où l'ordinateur trouve tout seul une règle à partir d'exemples, au lieu qu'une personne l'écrive. Ta messagerie trie le courrier indésirable de cette façon.

On lui montre des milliers de messages déjà classés. Elle repère ce qu'ils ont en commun. Aujourd'hui, tu fais la même chose avec des journées de location de vélos.

À la fin de cette leçon

Remarque

Je peux dire comment un ordinateur apprend à classer à partir d'exemples.

Mots clés

MotCe que ça veut direExemple
Entraînementla phase où l'ordinateur apprend à partir d'exemples
Étiquettela bonne réponse attachée à un exemplecalme
Classerranger un exemple dans une catégorie
Voisinun exemple proche d'un autre, selon ses mesures
Biaisune erreur qui vient des exemples choisis
Précisionla part des réponses justes, entre 0 et 1

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Comment un ordinateur apprend-il ?

On donne à l'ordinateur des exemples étiquetés : une température, une pluie, et la bonne réponse, « chargé » ou « calme ». C'est l'entraînement.

Ensuite, on lui montre des exemples qu'il n'a jamais vus, sans la réponse. On compare ses réponses aux vraies : c'est le test. Un jour avec 300 locations ou plus compte ici comme chargé.

Comment les k plus proches voisins décident-ils ?

Pour classer un nouveau jour, on cherche dans les exemples les k jours les plus proches. Deux jours sont proches quand leur température et leur pluie se ressemblent.

Chaque voisin vote avec son étiquette. La réponse la plus fréquente gagne. Avec k = 5, trois voisins « chargé » et deux « calme » donnent « chargé ».

Exemple : le vote de cinq voisins

VoisinTempératureÉtiquette
121chargé
219chargé
323calme
418chargé
516calme
Vote3 chargé contre 2 calme : chargé

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Avant de commencer

Remarque

Appuie sur Start the lab dans la barre en haut et attends que JupyterLab soit prêt. Chaque bouton Run tape docker exec jupyter puis un programme de Python qui utilise la bibliothèque scikit-learn.

Classe les jours gardés de côté

Commande
docker exec jupyter python3 steps/knn.py

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Que veut dire une précision de 0,815 ?

La précision est 0,815 : sur 92 jours, environ 81 sur 100 sont bien classés. Est-ce bon ? Il faut comparer.

Une machine qui répondrait toujours « calme » aurait 0,641, car la plupart des jours sont calmes. Les voisins font mieux, donc ils ont vraiment appris quelque chose.

Exemple : la matrice de confusion du Run

Prédit chargéPrédit calme
Vraiment chargé2310
Vraiment calme752

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Quelle valeur de k choisir ?

Avec k = 1, un seul voisin décide. Le modèle colle à chaque exemple, y compris à ses hasards : c'est le surapprentissage. Avec un k trop grand, il lisse tout et rate les détails.

Le bon k se cherche en essayant plusieurs valeurs et en regardant le score sur le jeu de test.

Essaie six valeurs de k

Commande
docker exec jupyter python3 steps/knnk.py

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Exemple : le score selon k

kJours apprisJours gardés de côté
10,9630,728
50,8830,815
1350,8210,826

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une erreur fréquente

Attention

Beaucoup pensent qu'un ordinateur qui a appris est neutre et ne se trompe pas par préjugé. Non : il copie ce que lui montrent les exemples. Si les exemples oublient un groupe de personnes, il les classera mal. C'est un biais. On le cherche en regardant qui manque dans les données.

Pour aller plus loin : un exemple de biais

Un logiciel de recrutement apprend sur dix ans de dossiers d'une entreprise. Presque tous les dossiers retenus sont ceux d'hommes.

Que va-t-il apprendre ? Comment vérifier ses réponses avant de l'utiliser ? Quelles données ajouterais-tu ?

À propos de ce labo et de sa source: Lab JupyterLab de science des données : pandas, Matplotlib et scikit-learn dans le navigateur

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.