Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lean data science

Simon Maby
November 27, 2019

Lean data science

Une approche lean startup appliquée à la data science et aux projets de machine learning.

Simon Maby

November 27, 2019
Tweet

More Decks by Simon Maby

Other Decks in Technology

Transcript

  1. (Too) Big Data? En 2017 • 70% des entreprises confessent

    ne pas en tirer parti • 85% of des projets ne finissent jamais en production • Gartner estimait que 60% des projets seraient un échec
  2. Lean startup? • Trouver son marché en itérant rapidement sur

    son produit • Viser le succès maximum avec un produit minimum • Mesurer le succès avec de la data • Limiter le risque
  3. Big is not Lean En data, l’effet tunnel se maximise

    avec : • Des infrastructures de pointe (calcul distribué, noSql…) • Des enjeux scientifiques complexes (machine learning)
  4. Expensive is not lean Le risque d’un échec est maximal

    car : • L’infrastructure est chère (tout stocker, big data) • Les solutions sont chères • Les profils sont chers (moi)
  5. Enjeux Idea : avoir beaucoup de bonnes idées (use cases)

    Code : faire des modèles et les tester très rapidement Measure : mesurer leur performance et les améliorer
  6. Not so Big Data Moins de data = • Moins

    de temps de calcul • Des technos agiles “in-memory” comme python ou R • Pas de technos distribuées comme Spark, Beam, Hadoop… • Pas d’infrastructures (à pars un macbook ou datalab)
  7. Quelles technos? • Lean : in-memory, batch, sql like •

    Complexe : calcul distribué, temps réel, streaming, functional programming, new languages
  8. Quels modèles? Modèle simple (Peu de features avec LR, Trees,

    Forests) = • Plus facile à interpréter • Plus facile à debugger • Moins sensible à l’overfitting
  9. SQL learning Parfois une bonne requête SQL donne un benchmark

    qui peut prendre des semaines voire des mois à battre Exemple : prédire la moyenne de la veille...
  10. Le pareto du machine learning • Pour 20% de temps

    de projet, chercher 80% de la performance • Chaque problème de machine learning a son équilibre : pour 1% de précision en plus, combien de temps projet, et combien d’euros à la clef?
  11. Cross-validation et overfitting • Chercher les leaks • Vérifier le

    sampling • Il vaut mieux passer du temps sur la cross-val que sur une modélisation compliquée
  12. Prédire la prédiction Pour itérer encore plus rapidement, il faut

    obtenir une relation prévisible entre la cross-validation et la production : +5% cross-val accuracy = +1% prod accuracy = + X €
  13. Protocoles d’expérimentation • A/B testing et significativité • Differences in

    differences • Causal inference... • Analyse de résidus : quels types d’erreur fait le modèle et pourquoi • Feeback loops (serendipity, discounting, armed bandits…)
  14. Dataops • Réentrainement de modèles • Continuous integration & delivery

    (tests) • Reproducibilité (model + code + data)
  15. Parce que c’est notre projet 1. Tester le signal avec

    un modèle simple sur un échantillon et avec cross-val solide 2. Mettre en place la stack d'entraînement et de prédiction avec intégration continue et des technos simples (SQL, batch, in-mem, cloud) 3. Mettre en place la méthode d’analyse des résultats (dashboards…) 4. Pusher un modèles simple (python ou la moyenne en SQL) 5. Essayer de le battre avec des itérations courtes 6. S'arrêter quand on a assez gagné (pareto)