« Le machine learning, c'est trop mathématique pour moi. » Cette phrase, je l'ai entendue des dizaines de fois. Dans la bouche d'un développeur web, d'une cheffe de projet, d'un étudiant en économie. Et à chaque fois, je réponds la même chose : le vrai blocage n'est presque jamais les maths. C'est de ne pas savoir par où commencer.
Je le sais parce que j'ai fait toutes les erreurs possibles quand j'ai mis le nez dans le machine learning pour la première fois. J'ai ouvert un cours qui commençait par des dérivées partielles et des matrices. J'ai refermé l'onglet en moins de dix minutes. Le problème n'était pas mon niveau : c'était l'ordre des choses.
Alors voici ce que j'aurais aimé qu'on me dise. Pas un programme exhaustif. Un chemin praticable.
Points clés à retenir
- Le machine learning n'exige pas d'être un génie des maths : il exige de comprendre ce que fait un algorithme, pas de savoir le démontrer.
- Un prérequis réel compte plus que dix tutoriels : Python de base, un peu de statistiques descriptives, et de la patience.
- Le premier projet compte davantage que le dixième cours. Un jeu de données simple, une question claire, un résultat imparfait.
- Les pièges du débutant sont connus et documentés : surapprentissage, fuite de données, mauvais choix de métrique.
- Compter six à huit semaines à raison de cinq heures hebdomadaires pour tenir un premier projet de bout en bout.
Machine learning : premiers pas, mais quelle est la vraie première question ?
On me demande souvent quel algorithme apprendre en premier. Mauvaise entrée en matière. La première question, c'est : quel problème voulez-vous résoudre ?
Le machine learning recouvre deux familles de tâches très différentes, et confondre les deux fait perdre des semaines.
Prédire une valeur, ou prédire une catégorie ?
Si vous cherchez à estimer un chiffre — le prix d'un logement, le nombre de ventes du mois — vous êtes en régression. Si vous cherchez à ranger un cas dans une case — spam ou non-spam, client qui part ou qui reste — vous êtes en classification. Cette distinction détermine tout le reste : les algorithmes disponibles, les métriques d'évaluation, la façon de préparer vos données.
- Régression : une sortie continue, évaluée par l'erreur moyenne.
- Classification : une sortie discrète, évaluée par la précision, le rappel, la matrice de confusion.
- Et une troisième voie, à part : le regroupement, quand vous n'avez pas d'étiquette du tout et cherchez des ressemblances.
- Le deep learning, lui, arrive bien plus tard.
Cette question paraît triviale. Elle ne l'est pas. J'ai vu un stagiaire passer une semaine à entraîner un modèle de régression sur une variable binaire. Le modèle « marchait » — au sens où il produisait des nombres. Ils étaient simplement inutilisables.
Les prérequis réels, avant d'écrire la première ligne de code
Combien de maths faut-il vraiment ? Moins qu'on ne le prétend, mais plus que zéro.
Ce qui est vraiment nécessaire
Vous devez être à l'aise avec l'idée de moyenne, d'écart-type et de corrélation. Savoir lire un nuage de points. Comprendre qu'une droite peut résumer une tendance, et qu'une tendance n'est pas une preuve.
En programmation, Python reste le choix le plus simple pour débuter. Pas besoin de maîtriser les classes ni les décorateurs. Les bases suffisent : variables, boucles, fonctions, listes et dictionnaires. La bibliothèque pandas pour manipuler des tableaux, scikit-learn pour les modèles. Ces deux-là couvrent la quasi-totalité de vos premiers mois.
Ce qui n'est pas nécessaire : le calcul matriciel formel, les gradients à la main, la théorie de la mesure. Tout cela devient utile plus tard, quand vous voudrez comprendre pourquoi un modèle se comporte mal. Pas au premier jour.
| Compétence | Niveau utile au démarrage | Temps réaliste pour l'acquérir |
|---|---|---|
| Python de base | Variables, boucles, fonctions, listes | 2 à 3 semaines |
| pandas | Lire un CSV, filtrer, grouper, gérer les valeurs manquantes | 1 à 2 semaines |
| Statistiques descriptives | Moyenne, médiane, dispersion, corrélation | Quelques jours |
| scikit-learn | Entraîner, prédire, évaluer | 1 semaine |
Total : environ six semaines à raison de cinq heures par semaine. Pas une semaine. Cette promesse d'« apprendre le machine learning en une semaine » circule beaucoup dans les résultats de recherche, et elle vous fera perdre du temps si vous y croyez.
Un premier projet de bout en bout, plutôt que dix cours
Voici l'erreur que j'ai commise, et que je vois se répéter constamment : enchaîner les cours. Un cours de théorie, puis un cours de Python, puis un cours sur les réseaux de neurones. Six mois plus tard, aucune ligne de code écrite sur un vrai jeu de données.
Un projet, même modeste, enseigne plus que n'importe quel PDF bien fait. L'ennui, c'est que les étapes réelles d'un projet n'apparaissent presque jamais dans les programmes de cours. On vous montre l'entraînement du modèle. On vous cache tout le reste.
Les étapes que personne ne montre
- Choisir une question assez précise pour être vérifiable. « Prédire si un client va résilier » passe. « Comprendre les clients » ne passe pas.
- Regarder les données avant de coder quoi que ce soit. Combien de lignes, quelles colonnes, combien de valeurs manquantes.
- Nettoyer. C'est ici que passe la majorité du temps réel — comptez les deux tiers de l'effort.
- Construire une référence naïve. Prédire la classe majoritaire, par exemple. Si votre modèle ne fait pas mieux, il ne sert à rien.
- Entraîner un premier modèle simple, souvent une régression logistique ou un arbre de décision.
- Évaluer sur des données jamais vues à l'entraînement.
- Interpréter les résultats, y compris leurs limites.
L'étape 4 est celle que les débutants sautent presque toujours. Elle est pourtant la plus utile : elle vous dit si votre modèle apporte quoi que ce soit.
Les pièges concrets qui plombent un premier modèle
Le surapprentissage
Un modèle qui obtient 98 % sur vos données d'entraînement et 61 % sur des données nouvelles n'a rien appris. Il a mémorisé. C'est le surapprentissage, et il touche surtout les modèles complexes. La parade tient en deux gestes : garder une partie des données de côté, et préférer un modèle simple quand les scores sont proches. Un arbre de décision un peu moins performant mais compréhensible vaut mieux qu'un modèle opaque qu'on ne sait pas corriger.
La fuite de données
Plus sournoise. Vous laissez par erreur une colonne qui contient l'information que vous cherchez à prédire. Le modèle affiche 99 %. Vous êtes content. En production, il s'effondre.
J'ai perdu une semaine entière là-dessus. Une colonne « date de résiliation » traînait dans le jeu de données censé prédire… la résiliation. Évidemment que le score était parfait. Évidemment que ça ne voulait rien dire.
Le déséquilibre des classes
Si 95 % de vos cas appartiennent à une seule catégorie, un modèle qui répond toujours la même chose obtient 95 % de précision. Le chiffre est spectaculaire. Il est vide. Regardez le rappel et la matrice de confusion, pas seulement la précision globale.
Quels outils et quelles ressources pour démarrer ?
Sur les bibliothèques, le choix est plus simple qu'il n'y paraît. scikit-learn couvre la classification, la régression, le regroupement, avec une interface identique d'un algorithme à l'autre. C'est là qu'il faut commencer, et pour longtemps.
TensorFlow et Keras n'arrivent que lorsque vous abordez les réseaux de neurones. Pas avant. Commencer par eux, c'est construire un immeuble en sautant les fondations.
- Les notebooks Jupyter : l'environnement le plus confortable pour tester une idée en trois lignes.
- Un jeu de données public sur un sujet qui vous intéresse vraiment — sport, cinéma, immobilier. L'intérêt personnel tient la motivation sur la durée.
- Un cours gratuit d'une université francophone, pour la structure. Pas pour l'exhaustivité.
- Un livre de référence, à consulter quand un concept résiste. Pas à lire de bout en bout.
Et une chose que personne ne dit : les PDF et les livres sont d'excellents compléments, jamais des points de départ. Chercher un document miracle qui rendrait tout facile est une façon élégante de repousser le moment où l'on écrit du code.
Faut-il apprendre le deep learning tout de suite ?
Non. Le deep learning est une famille de techniques qui brillent sur les images, le texte et le son, avec des volumes de données importants. Sur un tableau de quelques milliers de lignes, un modèle classique fera souvent aussi bien, en se configurant en quelques minutes. Apprenez d'abord la logique de l'entraînement et de l'évaluation. Le reste suivra naturellement.
Combien de temps avant de savoir réellement faire ?
D'après ce que j'ai observé autour de moi, y compris sur mon propre parcours : comptez deux à trois mois pour être autonome sur un projet simple. Cinq heures par semaine, régulières. Pas des week-ends intensifs suivis de trois semaines de pause.
Le rythme compte plus que le volume. Et le premier projet compte plus que le dixième cours.
Un mot pour finir. La compétence la plus sous-estimée dans ce domaine n'est ni la programmation ni la statistique. C'est le doute méthodique : la capacité à se demander si son score de 99 % est trop beau pour être vrai. Cette manie-là ne s'enseigne pas. Elle se développe à force de se faire avoir une ou deux fois.
Alors choisissez un jeu de données. Posez une question bête. Cassez quelque chose. C'est comme ça que ça commence.