Machine learning Design Patterns
Nastasia Saby
@saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8067037/path_learn.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8067051/1fd536e0-9dea-496f-a5c6-b9b5d9ae614a.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8329061/pasted-from-clipboard.png)
Des exemples de systèmes sur lesquels j'ai travaillé :
- Prédire des pannes
- Détecter des anomalies
- Modèles commerciaux
- etc
Big Data Science Montpellier @saby_nastasia
En informatique, et plus particulièrement en développement logiciel, un patron de conception (souvent appelé design pattern) est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels.
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613879/Argument_ginette_stressée.png)
Bonnes pratiques ?
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8741160/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Feature Stores est un ML design pattern
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Mais c'est génial !
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Une chose n'existe que quand elle est nommée.
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Mettre les concepts dans des cases.
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Apprendre des trucs et astuces.
Big Data Science Montpellier @saby_nastasia
Data représentation
Je vais te donner des astuces pour représenter tes données
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Big Data Science Montpellier @saby_nastasia
Feature Cross
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772065/pasted-from-clipboard.png)
Prédire l'affluence de la location de vélos
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772065/pasted-from-clipboard.png)
Heure du jour et jour de la semaine
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Mais je connais ça ! Intéressant d'y mettre un nom.
Big Data Science Montpellier @saby_nastasia
Autre exemple du livre : Embeddings
Big Data Science Montpellier @saby_nastasia
Problem representation
Je vais te donner des astuces pour représenter le problème.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Big Data Science Montpellier @saby_nastasia
Reframing
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772071/pasted-from-clipboard.png)
Prédire le temps à passer sur une tâche
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772071/pasted-from-clipboard.png)
Régression ou classification : c'est là la question
Big Data Science Montpellier @saby_nastasia
- Si une distribution est large => classification
- Si une distribution est serrée => régression
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Ça clarifie.
Big Data Science Montpellier @saby_nastasia
Autres exemples : Rebalancing, neutral class
Big Data Science Montpellier @saby_nastasia
Model training
Je vais te donner des astuces pour entraîner.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Big Data Science Montpellier @saby_nastasia
Transfer learning
Analyse de sentiments sur des pneus
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772075/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
Analyse de sentiments en général
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772078/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
Analyse de sentiments en général + analyse de sentiments des pneus
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772075/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772078/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613693/argument_giette.png)
Jamais utilisé, mais en effet on peut dire que le transfer learning est un design pattern.
Big Data Science Montpellier @saby_nastasia
Autres exemples : Useful overfitting, hyperparameters tuning
Big Data Science Montpellier @saby_nastasia
Déployer
Je vais te donner des astuces pour déployer.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Big Data Science Montpellier @saby_nastasia
Batch VS Online : recommendation
Big Data Science Montpellier @saby_nastasia
Traitement par lots
Big Data Science Montpellier @saby_nastasia
Traitement par unité
Reproducibility
Je vais te donner des astuces pour reproduire un vieux comportement.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Big Data Science Montpellier @saby_nastasia
Workflow pipeline
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772092/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
Model versionning
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772094/pasted-from-clipboard.png)
Monitoring
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772099/pasted-from-clipboard.png)
Code versionning
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772103/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
Data versionning
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772106/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
Réentraîner à chaque fois
Plus de l'ordre de sauver ma life
Responsible AI
Je vais te donner des astuces pour être plus responsable.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8613768/arguments_lucette.png)
Big Data Science Montpellier @saby_nastasia
Devenu super important
Heuristic benchmark
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772112/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
Fairness et explainability
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772113/pasted-from-clipboard.png)
Big Data Science Montpellier @saby_nastasia
Big Data Science Montpellier @saby_nastasia
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8772116/pasted-from-clipboard.png)
Le problème des micro-travailleurs, les annotateurs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/285298/images/8067037/path_learn.jpg)
ML design patterns
By nastasiasaby
ML design patterns
- 593