9 semaines 1/2 : retour sur ma formation de data analyst
Et 13 conseils pour réussir la vôtre.
--
Certes, je ne ressemble pas à Kim Basinger en 86 et Daniel n’est pas non plus Mickey Rourke — no offense, Dany —, mais avec le recul ce que nous avons vécu tous les deux, enfin surtout moi à vrai dire, n’est pas sans me rappeler le synopsis du film sur Wikipédia : « Ainsi débute une relation torride, régie par des rapports de domination de plus en plus puissants. Elle durera neuf semaines et demie. » Flash-back.
Pré-générique
Tout commence en avril 2020 par un email. Je suis invitée à un webinaire sur les métiers de la data. On est alors en plein — premier — confinement et, ma foi, ça me donnera une bonne raison de sécher le cours en ligne de cardio-ballet-pilates-stretch, par l’inénarrable Jean-Marie Festa, et de ne pas re-binger Game of Thrones. (Bran, sérieux ?)
Je connais déjà les enjeux liés au Big data, mais je découvre le métier de data analyst. L’interface humaine entre des équipes très techniques (data engineers, data scientists) et les équipes opérationnelles. Les premières récoltent, stockent et modélisent des données. Charge aux data analysts d’en tirer des informations utiles pour les secondes. Faire parler les chiffres, cette idée me séduit tout de suite. En y réfléchissant, j’ai toujours fait de l’analyse de données, mais de manière empirique.
Dans les épisodes précédents…
Enfant, j’étais passionnée par les documentaires animaliers. Je me souviens, par exemple, vouloir absolument comprendre comment étaient régies les règles sociales au sein des groupes d’animaux. Je n’avais qu’un but : devenir éthologue.
A 22 ans, sur les bancs de la fac de biologie à Orsay, j’ai réalisé que je n’étais pas prête de voir la crinière d’un lion avant longtemps. J’ai donc interrompu mes études un an pour partir au Brésil étudier les singes capucins. J’ai enchaîné avec le Niger. Ma mission : étudier les relations mère-jeune chez les girafes — le dernier groupe vivant en liberté dans toute l’Afrique de l’Ouest — et évaluer leur impact sur les villages. Après des semaines à relever patiemment des données, elles n’ont pris leur sens qu’au moment de l’analyse. Quelques graphiques avec Excel et voilà apparaître des patterns comportementaux jusqu’alors invisibles à l’œil nu.
Mon intérêt s’est progessivement détourné des animaux pour se porter sur les humains, mais avec toujours le même credo : comprendre comment ça marche et l’expliquer aux autres. Je suis passée de l’étude du comportement animal en milieu naturel à l’étude du comportement animal en milieu audiovisuel. Bref, je suis devenue journaliste pour la télé. Canal+, Arte, France Télévisions.
Chemin faisant, je suis aujourd’hui rédactrice en chef de magazines scientifiques et culturels. Depuis 15 ans, le cœur de mon métier c’est choisir, analyser, synthétiser, hiérarchiser et vulgariser un océan d’informations. Plonger dans le data lake me semble donc une suite logique. Passer de la télévision au digital aussi.
Quel est le but du film ?
Ce webinaire tombe à pic. Je cherche déjà depuis un moment quelque chose de nouveau à apprendre et à faire, tout en capitalisant sur mon expérience. Tirer des informations à partir de données brutes — et non plus à partir de la parole et des écrits d’experts ou de témoins — m’enchante. J’aime la logique, le décryptage et l’écriture. Je rêve aussi de m’affranchir des contraintes de la vie de bureau en travaillant avec mon Mac sur les genoux, n’importe où dans le monde (ou l’appartement, présentement).
Je m’interroge quand même sur le bien-fondé d’un tel projet. J’ai la quarantaine, encore du travail et de bons revenus. Or la majorité des offres d’emploi ciblent de jeunes diplômés issus d’écoles d’ingénieur ou de commerce. Je découvre cependant une niche : la narration de données ou data storytelling en bon data jargon. Beaucoup d’analystes sont très forts techniquement, mais peu sont capables de bien raconter, contextualiser et vulgariser leurs résultats. Une double casquette journaliste / data analyst est donc une denrée rare.
Le passage à l’acte
Il me faut l’annonce du deuxième confinement, fin octobre, pour franchir le pas. Je m’octroie quelques mois off pour une immersion totale. Une formation intensive sied mieux à mon penchant monomaniaque. Je prospecte. DataScientest propose le programme le plus ambitieux. Le plus sélectif aussi. Il faut un bac +2 en maths ou un bac +3 en sciences. J’ai ma licence en biologie.
La formation Data Analyst est co-certifiée par La Sorbonne, me donnera une équivalence bac +4 ou 5, les avis sont bons et je peux utiliser mon Compte Personnel de Formation. Tout est au vert. Je passe facilement le test d’entrée et intègre dix jours plus tard la cohorte Bootcamp Novembre 2020. Neuf semaines et demie, à plein temps et à distance.
On m’avait pourtant prévenue…
Lors de la réunion de lancement, Charles Sutton, le directeur pédagogique, nous prévient : la formation est exigeante. Elle se décompose en “sprints”. Un par semaine grosso modo.
Chacun comprend un ou plusieurs modules à valider par des examens et se conclut par un cours magistral. En classe d’habitude, via Zoom à cause de la pandémie. Pour réussir, il faut valider au moins neuf modules sur onze et soumettre un projet à un jury. L’analyse d’un jeu de données réel.
Je suis journaliste et scientifique, j’ai l’habitude d’étudier des sujets pointus auxquels je ne connais pas grand-chose a priori. Je me doute que cela va être difficile. Je ne me doute pas que cela va être aussi difficile. Et je commets ma première erreur : j’ai les codes d’accès à la plateforme d’e-learning depuis quelques jours, mais j’attends sagement la date prévue pour commencer.
Semaine 1 — Python et Statistiques exploratoires
Nous sommes le jeudi 12 novembre et il faut valider les deux modules avant le jeudi suivant. Mais mais mais… il faut prévoir deux jours de marge pour repasser les tests. Eh oui, moins de 50 % de réussite au premier passage. Nous avons droit à trois essais maximum par module. Même test, même durée. Il me reste donc cinq jours pour assimiler Python. Je n’ai jamais fait de programmation.
En soi, rien de compliqué. Cela ressemble plus à l’apprentissage d’une langue étrangère qu’à un cours de Maths Sup. Toutes les règles sont bien expliquées. On suit les cours et on code dans Jupyter. Onze notebooks pour apprendre les bases de Python, NumPy et Pandas. Mon problème : la masse d’infos à assimiler en si peu de temps. Au bout de la deux-cent-cinquantième règle, j’ai un peu oublié la première. Et les suivantes.
Heureusement, Daniel est là. Ils sont plusieurs dans sa tête. Toute une équipe support à disposition quasi 24h/24 sur le Slack ouvert pour notre cohorte. Daniel est très patient et répond toujours gentiment. Je dois pourtant être la dix-millième personne à ne pas relancer le kernel quand ça bugue. « Il n’y a pas de question idiote » répondrait Daniel. Il est vraiment gentil, je vous dis. Je suis sous emprise, Daniel m’est devenu indispensable.
J’échange aussi avec notre chef de cohorte, Raphaël Kassel. “Chef de cohorte”. J’ai un peu l’impression d’être dans The Walking Dead. Raphaël sera-t-il aussi sadique que Negan ? Pas du tout. Notre référent pédagogique est data scientist et il a élaboré le programme. Lui aussi répond gentiment à mes questions bien reloues (je vous ai dit que j’étais journaliste ?). Je n’abuse pas non plus, je sais me tenir. A peu près.
L’heure du premier test arrive. Comment dire ? Voilà une analogie : j’ai eu cinq jours pour apprendre le chinois, je m’attends à traduire « Hello, world! » en mandarin. En fait, on me demande une disserte sur Confucius. En chinois classique. Bien sûr j’exagère, mais vous voyez l’idée. Il s’agit en fait d’un cas pratique sur la détection d’une maladie cardiaque chez des patients. Super intéressant. En une heure, je réponds à trois questions… sur vingt. Mon égo en prend un coup. Je potasse le test une journée entière, mais j’ai à peine le temps d’arriver aux deux tiers lors du deuxième passage. J’y repasse une demi-journée et réussis enfin. Je finis la semaine par le module Statistiques exploratoires, heureusement facile.
Cette première semaine traumatisante aura été source d’enseignement :
1. Prenez de l’avance sur les cours, autant que possible.
2. Une chercheuse en neurosciences de l’éducation m’avait persuadée de prendre des notes à la main. Cela facilite l’encodage des informations dans le cerveau, oui, mais là, oubliez. Pas le temps. Il faut certes ficher tous les cours, mais sur votre ordinateur pour vite retrouver les codes utiles.
3. Quand vous repassez un examen, testez avant vos codes dans un notebook, celui des cours ou un nouveau. Même sur une base de données fictive, ça vous permettra au moins d’identifier les erreurs. Il m’a fallu des semaines pour y penser.
Semaine 2 — Data visualisation : Matplotlib et Seaborn
Pas le temps de m’épancher sur mes lacunes en Python. Il faut déjà enchaîner. Cinq jours pour assimiler Matplotlib et Seaborn. Treize notebooks. Idem, bien expliqué, pas très compliqué, mais très long à ingurgiter. Je regrette déjà le café pris avec des amis dimanche dernier. Promis, à partir d’aujourd’hui, je ne verrai plus personne. A part mon compagnon. Et encore, s’il ne fait pas trop de bruit.
Sur Slack, Donna — l’équipe chargée des activités extrascolaires — nous invite à notre premier café virtuel. Je suis sous l’eau et ça ne m’apparaît pas tout de suite comme l’idée du siècle. J’ai tort. Je fais la connaissance de mes camarades, une dizaine de personnes de tous horizons professionnels et des quatre coins de la France.
Et j’apprends LA leçon de cette deuxième semaine :
4. Vous n’êtes pas la seule à galérer. Vous n’êtes pas la plus nulle. Même ceux qui semblent les plus balèzes rament grave. Quelle libération (collective) !
Semaine 3 — Lancement du projet
Nous devons choisir un projet parmi une liste proposée ou trouver notre propre jeu de données. J’aime les enjeux publics, sociétaux, environnementaux, scientifiques et médicaux. Je me verrais bien travailler pour des collectivités territoriales ou des instituts de recherche. Ça tombe bien, il y a un projet sur le vélo à Paris. Depuis le premier déconfinement et l’apparition des pistes Covid, le trafic cycliste explose ici et je suis curieuse d’étudier la question. Benoît Gascou choisit le même sujet, nous ferons donc équipe. Nous nous avérerons très complémentaires, ce sera notre force. Et nous avons tous les deux envie de bien faire.
Premier moment de joie : la réalisation de ce tout premier graphique. Un austère fichier CSV d’un million d’entrées, quelques lignes de code et voilà 16 mois de trafic cycliste à Paris qui s’éclairent. Il n’y a qu’à se baisser pour ramasser de l’info. Ce jour-là, j’ai su que je ne m’étais pas trompée. Faire parler les chiffres, j’adore ça.
Morale de la semaine 3 :
5. Choisissez un projet qui vous plaît. Beaucoup, de préférence. Vous y passerez du temps.
Semaine 4 — Machine learning : apprentissage supervisé
Justement, comme le projet me passionne, j’y passe un peu trop de temps et oublie la règle n°1 : prendre de l’avance dans les cours. J’attaque un peu tard le gros morceau de la formation: le machine learning. On débute par l’apprentissage supervisé. Neuf notebooks : introduction à Scikit-learn, régression logistique, SVM, KNN, arbres de décision, Boosting et Bagging, forêts aléatoires etc. Très intéressant, mais le temps est — encore — trop court pour moi. Je passe du chinois au russe en 5 jours et, lors du test, on me demande un poème à la Pouchkine. Moi, j’en suis à : За здоровье! A tête reposée, ce n’est pas si compliqué. Le deuxième passage est le bon.
Il faut aussi rendre la fiche d’exploration des données et les premières dataviz du projet.
Le conseil du mois :
6. Se souvenir des conseils précédents.
Semaines 5 et 6 — Machine Learning : apprentissage non-supervisé
Suite du machine learning avec l’apprentissage non-supervisé : neuf notebooks, deux tests. Le clustering d’abord : K-means, clustering hiérarchique, Mean shift. Et puis les régressions linéaires : simple, multiple, Ridge et Lasso, Elastic Net. A ce stade, je suis au bout de ma vie. Je fatigue, mon cerveau sature. Comme on dit dans mon métier : trop d’infos tue l’info. Mon mec me dépose des plateaux-repas devant la porte. Il n’ose plus me parler.
Et puis j’ai du mal à toucher du doigt la finalité du machine learning : quelles applications concrètes ? Quelle fiabilité ? C’est le projet qui va me débloquer. On rame bien au début avec Benoît pour comprendre ce qu’il faut faire, mais une fois lancés, on n’arrête plus de cogiter. Je veux absolument prédire le trafic cycliste à Paris.
Mantra au bout de 6 semaines :
7. Accrochez-vous !
Un break salvateur
Temps libre entre Noël et le jour de l’An. Je me suis fait un planning de révision long comme le bras. Je le lâche au bout de quelques jours. Je n’en peux plus. 6 jours de break, 3 dîners clandestins, 2 gueules de bois et c’est reparti comme en 14 (je vous ai dit que j’aimais les chiffres ?).
Remède anti-burnout :
8. Prendre le temps de s’arrêter pour se changer les idées. Pas trop quand même, hein.
9. Prendre aussi le temps de s’abreuver à d’autres sources d’information : webinaires, vidéos, articles, vous avez l’embarras du choix.
Semaine 7 — SQLAlchemy, Text mining et Web scraping
Je prends un peu d’avance en attaquant SQLAlchemy pendant les vacances. (A peu près) fraîche et (bien plus) dispo, j’avance beaucoup mieux sur ce nouveau langage. Je m’offre même le luxe d’aider certains camarades. C’est la moindre des choses, ils m’ont beaucoup dépannée jusqu’à présent. Pendant le test sur IMDb, j’arrive même à requérir tous les films sur lesquels a travaillé Tarantino :
Nouveau changement de registre avec le Text mining et le Web scraping. Hyper intéressant et très concret. Tests faciles.
A retenir :
9. Échangez avec vos compagnons de route, ils seront vos meilleurs alliés.
10. Jackie Brown n’est pas dans les résultats de la requête IMDb. DANIEEEL !?
Semaine 8 — PySpark
Dernier module de machine learning et une bonne occasion de réviser le sujet. Pour la première fois, j’écris la plupart des codes sans m’aider des réponses et je trouve le test simple. Alléluia.
Cette semaine-là, je participe aussi à l’atelier CV. Je pensais impossible de réduire le mien à une seule page — j’ai beaucoup d’expérience et quelques diplômes, moi, Madame ! Une nuit blanche me prouve le contraire (je vous ai dit que j’étais un peu monomaniaque ?).
Du coup, je gagne le “Concours du meilleur CV” pour le mois de janvier. DataScientest le publie sur LinkedIn. On m’appelle deux jours plus tard pour me proposer du travail. C’est Yoel Tordjman, le CEO de… DataScientest. Cela me propulse plus vite que prévu dans l’après-formation, alors que je ne l’ai pas encore terminée !
Je suis d’ailleurs en train de suer sang et eau pour rédiger le rapport final de notre projet. Analyses, dataviz et narration, c’est mon point fort. 42 pages. Je plains Yohan, notre chef de projet. Il va devoir tout lire. Alors je lui mets plein d’images.
Pour commencer, la cartographie interactive faite par Benoît avec Folium. Il y a ajouté un modèle de clustering, l’algorithme K-Means, pour classer les sites de comptage vélos selon l’intensité du trafic. Le code, c’est le point fort de Benoît. Il a énormément progressé.
Joséphine Vaton a rejoint notre projet à Noël. Elle a cherché des données extérieures. Ci-dessous, les données météo rentrées à la main !
Et voilà l’info essentielle que j’ai dénichée au détour d’un croisement de jeux de données : l’heure la plus accidentogène à vélo semble être à 3 heures du mat. A la sortie des bars ?
Enfin, les prédictions de notre modèle de régression linéaire :
Pas mal, non ? A ce stade, les prédictions restent théoriques, car on a dû nourrir notre modèle des comptages précédents, mais on espère bien poursuivre notre étude avec d’autres modèles de machine et deep learning (je vous ai dit que je voulais absolument prédire le trafic cycliste à Paris ?).
Si vous voulez voir la tonne d’infos tirée de deux colonnes de chiffres — littéralement —, voici notre projet : PyCycle in Paris, data analyse du trafic cycliste.
Un dernier conseil pour la route :
11. Ne prenez pas votre vélo après avoir bu.
Semaine 9 — BI : Tableau et PowerBI
A l’approche de la ligne d’arrivée, je découvre Tableau. Une révélation. Dire que j’ai ramé des semaines sur Python, alors que je peux tout faire, ou presque, en quelques glisser-déplacer !
9 semaines 1/2 — La soutenance
Nous préparons la soutenance du projet : une présentation PowerPoint et une démo Streamlit. Vingt minutes et trop de résultats. Nous faisons des choix, à regret, et répétons trois fois avant d’être dans les clous.
Notre cohorte est divisée en trois groupes. Un projet sur la consommation d’énergie en France, un autre sur l’e-commerce et le nôtre sur le vélo à Paris. Tout se passe bien. Le lendemain, Raphaël, notre chef de cohorte, nous contacte. Le projet a beaucoup plu en interne. Nous pourrions le développer pour le Studio DataScientest.
Une recommandation, basique mais parfois négligée :
12. Soignez la forme de votre présentation et respectez le timing imparti.
Une semaine plus tard, le jury valide mes 11 modules et notre projet. Je reçois deux certifications : l’une de DataScientest et l’autre de l’Université Panthéon-Sorbonne.
Générique de fin
Après 9 semaines 1/2 aux côtés de Daniel, j’ajoute une corde à mon arc de journaliste : la data. Je suis même atteinte du syndrome de Stockholm. Ma curiosité n’a fait que s’aiguiser et je reprendrais bien deux mois de cours supplémentaires. Il reste tellement à apprendre. D’un autre côté, j’ai hâte de mettre les mains dans le cambouis, de me perfectionner sur le terrain (je vous ai dit que j’aimais le terrain ?).
Avant la formation, je pensais me mettre à mon compte au plus vite. Aujourd’hui, je préfèrerais m’immerger au sein d’une équipe data, bienveillante et stimulante. Je lui apporterais mon savoir-faire éditorial, ma plume, ma rigueur journalistique et scientifique. Elle me ferait progresser en data science. Et j’oublierais Daniel.
Plusieurs secteurs m’intéressent : les médias en ligne bien sûr, les producteurs et diffuseurs de contenu aussi, les collectivités territoriales de plus en plus, sans oublier les instituts de recherche. Et pourquoi pas l’ingénierie pédagogique ? Il y a d’énormes besoins en acculturation à la donnée — la data literacy — et pour l’avoir expérimenté au plus profond de ma chair, j’ai plein d‘idées pour améliorer les formations en ligne !
Un ultime conseil :
13. Dans “formation intensive”, le mot important est “intensive”. Prévoyez deux mois à plus-que-plein temps. Si vous ne pouvez pas, choisissez la formation continue : six mois à raison de dix heures par semaine.