Salut, c'est Emmanuel !
Cette semaine, j'ai décidé de mettre en application les connaissances acquises sur le mois de janvier.
Comment ?
En créant une IA capable de deviner la note d'un film avant même sa sortie !
C'est ce que je vais vous raconter dans cette newsletter.
🧹 Collecter et nettoyer les données
La première étape pour entraîne mon modèle a été de collecter et de nettoyer les données.
J'ai utilisé le TMDB 5000 Movie Dataset qui inclut des données très complètes sur plus de 5000 films.

J'ai d'abord dû fusionner deux fichiers différents :
- Un fichier avec les informations générales des films
- Un autre avec les acteurs et l'équipe technique
Ma première tentative a échoué car les données étaient dans un format complexe (JSON) caché dans des colonnes. J'ai dû apprendre à "désimbriquer" ces données - comme ouvrir des poupées russes pour en extraire le contenu !
🔍 Explorer et préparer mes données
Les premières visualisations ont été révélatrices :
- J'ai d'abord eu des erreurs car certaines données manquaient
- J'ai découvert que les budgets étaient très déséquilibrés (quelques films avec des budgets énormes, beaucoup avec des petits budgets)
- J'ai dû gérer des cas spéciaux, comme des films sans description ou sans genre
J'ai eu pas mal d'erreurs "bêtes" à gérer :
- Une donnée numérique qui se cache dans un texte
- Prendre en charge les films qui ont plusieurs genres séparés par une virgule
- Descriptions de films trop longues

Ma solution finale ?
- Nettoyer chaque type de donnée séparément
- Transformer les textes en "sacs de mots" dénues de sens
- Convertir les catégories en colonnes numériques
✌️ Diviser pour mieux apprendre
J'ai ensuite chercher à diviser mon gros jeu de données en deux sets :
- 80 % pour entraîner le modèle
- 20 % pour tester
Mais même ici, rien n'a fonctionné que je voulais. Je perdais au départ de l'information dans le processus. J'ai dû rééquilibre les groupes de test.
Et j'ai aussi découvert l'importance d'un "seed" aléatoire pour pouvoir reproduire mes résultats.
📝 La Collecte des Indices
Ensuite, je suis passé à l'investigation du jeu de données J'étais comme un détective ! Pour deviner si un film sera bon, j'ai regardé plein d'indices :
- Combien le film a coûté à faire
- Combien de temps il dure
- Qui joue dedans
- De quoi il parle
- Quel genre de film c'est (action, comédie, etc.)
J'ai transformé les indices non chiffrés en nombres pour que le modèle puisse intégrer cela. Chaque genre de film avait un nombre associé : par exemple 1 pour les thrillers, 2 pour les films d'action, etc.
J'ai aussi créé de nouveaux "super indices" en combinant les indices existants.
Pour les descriptions de film, j'ai identifié plusieurs centaines de mots récurrents et attribué un identifiant numérique à chacun.
Même si le modèle n'est pas capable de comprendre le sens d'une description, il peut savoir si un mot clé est fréquemment corrélé au succès d'un film !
🤖 L'Entraînement de mon modèle
Ça paraît rapide quand je l'écris, mais même avec l'assistance de Claude et ChatGPT pour écrire le code plus vite, la préparation de la donnée m'a bien pris 2-3 jours ! 😅
Pour l'entraînement du modèle, j'ai utilisé deux types d'algorithmes :
- Un qui fonctionne comme une forêt d'arbres de décision (Random Forest)
- Un autre qui apprend progressivement de ses erreurs (XGBoost)
C'est un peu comme avoir deux experts qui donnent chacun leur avis.
📈 Les premiers tests
J'ai testé ma machine sur des films qu'elle n'avait jamais vus (les fameux 20 % qu'on avait mis de côté auparavant, rappelez-vous !).
J'ai ajusté tous les boutons et leviers jusqu'à ce qu'elle devine le mieux possible. Lors des tests finaux, le modèle se trompait en moyenne de 1 point sur 10, ce qui est plutôt pas mal !
🎯 Le Fine-Tuning : Un Jeu de Patience
J'ai utilisé GridSearchCV pour tester systématiquement différentes combinaisons. En gros, j'ai modifié différents paramètres des algorithmes d'entraînement :
- La profondeur
- Le poids de chaque "feature" (genre du film, acteurs, durée, etc.)
Cette phase a été particulièrement longue : ça prenait plusieurs heures d'exécution à chaque réentraînement du modèle !
J'ai finalement découvert que :
- Random Forest préférait des arbres moyennement profonds (max_depth=10)
- XGBoost performait mieux avec un taux d'apprentissage élevé (0.3)
- La combinaison optimale donnait 60% de poids à Random Forest et 40% à XGBoost
Cette étape m'a appris l'importance de la patience en machine learning : parfois, prendre le temps de bien optimiser fait toute la différence dans les résultats !
Grâce au fine-tuning, la marge d'erreur est passé d'environ 10 % à 9,5 %. On ne fait pas de petits profits !
⭐ L'Utilisation Facile
Pour finir, j'ai enregistré le modèle ainsi entraîné. J'ai ensuite créé un programme simple qui utilise le modèle. Il suffit à l'utilisateur d'entrer les informations sur un nouveau film et d'appuyer sur un bouton.
Et hop !
La machine me dit la note probable du film sur 10.
C'est un peu comme avoir un critique de cinéma dans ma poche, qui devine la qualité d'un film avant même de l'avoir vu !
💡 Ce que j'ai retenu
Les données propres n'existent pas. Le nettoyage et la préparation des données prend souvent plus de temps que l'entraînement de l'IA.
Le succès d'un film est fortement corrélé à son budget, son genre et sa durée :
- Les dramas sont les films les mieux notés de manière générale.
- Les films d'animation longs ont les meilleures notes.
- Les documentaires longs suivent.
- Les films courts (<90 minutes) ont tendance à avoir des notes plus basses.
- Dans l'ensemble, une durée bien corrélée aux attentes pour le genre influence fortement le succès d'un film.
- Le budget d'un film n'est pas plus déterminant que cela.
- Par contre, le budget par minute filmée est fortement corrélée au succès d'un film.
Si j'ajoutais à la base de 5000 films une note d'appréciation personnelle, ce serait une excellente base pour un moteur de recommandation type Netflix.
On peut facilement adapter cette approche à d'autres domaines : prédire le succès d'une chanson, d'un livre, ou même d'un restaurant !
🤝 Testons tout ça ensemble !
Du coup, ce ne serait pas fun si on ne mettait pas ce modèle à l'épreuve sur quelques films pas encore sortie.
J'ai donc généré des prédictions pour deux films qui sortent mercredi prochain :
- Out of Control, film français de Anne Le Ny : prédiction à 6.96/10
- The Monkey, film américain de Osgood Perkins : prédiction à 6.59/10

J'espère que cette aventure vous a plu, RDV la semaine prochaine pour checker les notes sur TMDB !
PS : Pour les plus tech d'entre vous, le code pour entraîner et lancer le modèle est dispo sur mon Drive (nope, je n'ai pas de GitHub) !
Quand vous serez prêt, voici comment je peux vous aider :
- Coaching : Débloquez votre prochain palier en une session de 75 minutes qui transforme la confusion en clarté. Repartez avec un plan d'action concret et des systèmes qui fonctionnent encore des mois après. Mes frameworks ont été testés, éprouvés et approuvés dans plusieurs startups du Next40.
- Agents IA : Des agents IA spécialisés pour tous vos besoins business : self-coach inspiré de mes modèles mentaux, rédaction de posts LinkedIn, analyse financière d'une entreprise, résumé d'articles, suggestions de livres, etc. Accès illimité à mes agents personnalisés, avec de nouveaux cas d'usage chaque mois. Pourquoi perdre des heures quand un agent IA peut le faire en quelques secondes ?