Final Project
présentation de la mission
ENSAE - Initiation au Machine Learning
Mously Diaw
Segmentation of the customers of an E-commerce site (1/2)
Vous êtes consultant pour Olist, une entreprise brésilienne qui propose une solution de vente sur les
marketplaces en ligne.
Olist souhaite que vous fournissiez à ses équipes d'e-commerce une segmentation des clients qu’elles
pourront utiliser au quotidien pour leurs campagnes de communication.
Votre objectif est de comprendre les différents types d’utilisateurs grâce à leur comportement et à leurs
données personnelles.
Vous devrez fournir à l’équipe marketing une description actionable de votre segmentation et de sa
logique sous-jacente pour une utilisation optimale, ainsi qu’une proposition de contrat de maintenance
(optionnel) basée sur une analyse de la stabilité des segments au cours du temps.
Votre mission
Votre mission est d’aider les équipes d’Olist à comprendre les différents types d'utilisateurs. Vous utiliserez
donc des méthodes non supervisées pour regrouper des clients de profils similaires. Ces catégories
pourront être utilisées par l’équipe Marketing pour mieux communiquer.
2
Segmentation of the customers of an E-commerce site (2/2)
Livrables
● Un notebook (ou code commenté au choix) de l'analyse exploratoire & d’essais des différentes
approches de modélisation.
● Un notebook de simulation pour déterminer la fréquence nécessaire de mise à jour du modèle de
segmentation.
● Un support de présentation pour présenter votre travail à un collègue.
Pour faciliter votre passage devant le jury, déposez sur la plateforme Github tous les livrables du projet. La
structure du répertoire github est à définir mais il doit contenir au minimum un dossier appelé “notebooks”
contenant les notebooks créés pour répondre à cette mission. A titre illustratif, vous pouvez nommer les fichiers
selon l'ordre dans lequel il apparaît, par exemple “segmentation_01_analyse.ipynb”,
“segmentation_02_essais.ipynb”, et ainsi de suite.
Modalités de la soutenance
● 15 à 20 min de Présentation
○ Présentation de la problématique, du cleaning effectué, du feature engineering et de l'exploration
○ Présentation des différentes pistes de modélisation effectuées
○ Présentation du modèle final sélectionné ainsi que des améliorations effectuées.
○ Présentation de la simulation pour définir le délai de maintenance du modèle (contrat de
maintenance: Optionnel)
● 5 à 10 min de questions-réponses
3
House prices prediction (1/2)
Vous êtes data scientist chez Laplace Immo, un réseau national d’agences immobilières.
Demandez à un acheteur de décrire la maison de ses rêves et il ne commencera probablement pas par la
hauteur du plafond du sous-sol ou la proximité d'une voie ferrée est-ouest. Mais il se trouve que les
négociations de prix sont influencées par bien d'autres éléments que le nombre de chambres à coucher
ou une clôture à piquets blancs.
Laplace Immo souhaite que vous fournissez à ses équipes un algorithme de prédiction des prix des maisons.
Avec 79 variables explicatives décrivant (presque) tous les aspects des maisons résidentielles à Ames
(Iowa, US), ce projet a pour objectif de construire un modèle de prédiction du prix final de chaque maison.
Votre mission
Votre mission est d’aider les équipes de Laplace Immo à avoir un simulateur des prix des maisons à vendre.
Voici un récapitulatif de votre mission :
1. Réaliser une analyse exploratoire.
2. Tester différents modèles de prédiction afin de répondre au mieux à la problématique.
4
House prices prediction (2/2)
Livrables attendus
● Un notebook de l'analyse exploratoire mis au propre et annoté.
● Le code (ou un notebook) des différents tests de modèles mis au propre, dans lequel vous identifierez
clairement le modèle final choisi.
● Un support de présentation pour la soutenance.
Pour faciliter votre passage au jury, déposez sur Github tous les livrables du projet. La structure du répertoire
github est à définir mais il doit contenir au minimum un dossier appelé “notebooks” contenant les notebooks créés
pour répondre à cette mission. A titre illustratif, vous pouvez nommer les fichiers selon l'ordre dans lequel il
apparaît, par exemple “house_price_01_analyse.ipynb”, “house_price_02_essais.ipynb”, et ainsi de suite.
Modalités de la soutenance
● 15 à 20 min de Présentation
○ Présentation de la problématique, de son interprétation et des pistes de recherche envisagées.
○ Présentation du cleaning effectué, du feature engineering et de l'exploration.
○ Présentation des différentes pistes de modélisation effectuées.
○ Présentation du modèle final sélectionné ainsi que des améliorations effectuées.
● 5 à 10 min de questions-réponses
5
Digit recognizer
Votre mission
Votre mission consiste à mettre en place un modèle capable de reconnaître les chiffres de 0 à 9.
Livrables attendus
● Un notebook de l'analyse exploratoire mis au propre et annoté.
● Le code (ou un notebook) des différents tests de modèles mis au propre, dans lequel vous identifierez
clairement le modèle final choisi.
● Un support de présentation pour la soutenance.
Pour faciliter votre passage au jury, déposez sur Github tous les livrables du projet. La structure du répertoire
github est à définir mais il doit contenir au minimum un dossier appelé “notebooks” contenant les notebooks
créés pour répondre à cette mission. A titre illustratif, vous pouvez nommer les fichiers selon l'ordre dans lequel
il apparaît, par exemple “digit_recognizer_01_analyse.ipynb”, “digit_recognizer_02_essais.ipynb”, et ainsi de
suite.
Modalités de la soutenance
● 15 à 20 min de Présentation
○ Présentation de la problématique, de son interprétation et des pistes de recherche envisagées.
○ Présentation du cleaning effectué, du feature engineering et de l'exploration.
○ Présentation des différentes pistes de modélisation effectuées.
○ Présentation du modèle final sélectionné ainsi que des améliorations effectuées.
● 5 à 10 min de questions-réponses
6
Predict future sales
Vous êtes data scientist chez Oshop, un réseau de magasins de vente d’articles.
Oshop souhaite avoir un modèle de prédiction des ventes totales pour chaque produit et chaque magasin au cours
du mois prochain.
Vous disposez de données historiques quotidiennes sur les ventes. La tâche consiste à prévoir la quantité totale de
produits vendus dans chaque magasin. Notez que la liste des magasins et des produits change légèrement chaque
mois. La création d'un modèle robuste capable de gérer de telles situations fait partie du défi.
Votre mission
Voici un récapitulatif de votre mission :
1. Réaliser une analyse exploratoire.
2. Tester différents modèles de prédiction afin de répondre au mieux à la problématique.
7
Predict future sales
Livrables attendus
● Un notebook de l'analyse exploratoire mis au propre et annoté.
● Le code (ou un notebook) des différents tests de modèles mis au propre, dans lequel vous identifierez
clairement le modèle final choisi.
● Un support de présentation pour la soutenance.
Pour faciliter votre passage au jury, déposez sur Github tous les livrables du projet. La structure du répertoire
github est à définir mais il doit contenir au minimum un dossier appelé “notebooks” contenant les notebooks créés
pour répondre à cette mission. A titre illustratif, vous pouvez nommer les fichiers selon l'ordre dans lequel il
apparaît, par exemple “future_sales_01_analyse.ipynb”, “future_sales_02_essais.ipynb”, et ainsi de suite.
Modalités de la soutenance
● 15 à 20 min de Présentation
○ Présentation de la problématique, de son interprétation et des pistes de recherche envisagées.
○ Présentation du cleaning effectué, du feature engineering et de l'exploration.
○ Présentation des différentes pistes de modélisation effectuées.
○ Présentation du modèle final sélectionné ainsi que des améliorations effectuées.
● 5 à 10 min de questions-réponses
8
Prediction of Building energy (1/2)
La ville de Seattle s’intéresse de près aux émissions des bâtiments non destinés à l’habitation: Prédiction de la
consommation d’énergie
Vous travaillez pour la ville de Seattle. Pour atteindre son objectif de ville neutre en émissions de carbone en 2050,
votre équipe s’intéresse de près à la consommation totale d’énergie des bâtiments non destinés à l’habitation.
Votre prédiction se basera sur les données déclaratives du permis d'exploitation commerciale (taille et usage des
bâtiments, mention de travaux récents, date de construction..)
Vous cherchez également à évaluer l’intérêt de l’ENERGY STAR Score pour la prédiction de consommation d’
énergie, qui est fastidieux à calculer avec l’approche utilisée actuellement par votre équipe.
Votre mission
Voici un récapitulatif de votre mission :
1. Réaliser une analyse exploratoire.
2. Tester différents modèles de prédiction afin de répondre au mieux à la problématique.
Faites bien attention au traitement des différentes variables, à la fois pour trouver de nouvelles informations (peut-on
déduire des choses intéressantes d’une simple adresse ?) et optimiser les performances en appliquant des
transformations simples aux variables (normalisation, passage au log, etc.).
PJ: Données à utiliser: 2016-building-energy-benchmarking.csv, description-données 9
Prediction of Building energy (2/2)
Livrables attendus
● Un notebook de l'analyse exploratoire mis au propre et annoté.
● Le code (ou un notebook) des différents tests de modèles mis au propre, dans lequel vous identifierez
clairement le modèle final choisi.
● Un support de présentation pour la soutenance.
Pour faciliter votre passage au jury, déposez sur Github tous les livrables du projet. La structure du répertoire
github est à définir mais il doit contenir au minimum un dossier appelé “notebooks” contenant les notebooks créés
pour répondre à cette mission. A titre illustratif, vous pouvez nommer les fichiers selon l'ordre dans lequel il
apparaît, par exemple “energy_01_analyse.ipynb”, “energy_02_essais.ipynb”, et ainsi de suite.
Modalités de la soutenance
● 15 à 20 min de Présentation
○ Présentation de la problématique, de son interprétation et des pistes de recherche envisagées.
○ Présentation du cleaning effectué, du feature engineering et de l'exploration.
○ Présentation des différentes pistes de modélisation effectuées.
○ Présentation du modèle final sélectionné ainsi que des améliorations effectuées.
● 5 à 10 min de questions-réponses
10
Home credit default risk (1/2)
Vous êtes Data Scientist au sein d'une société financière, nommée "Prêt à dépenser", qui propose des crédits à
la consommation pour des personnes ayant peu ou pas du tout d'historique de prêt.
L’entreprise souhaite mettre en œuvre un outil de “scoring crédit” pour calculer la probabilité qu’un client
rembourse son crédit, puis classifie la demande en crédit accordé ou refusé. Elle souhaite donc développer un
algorithme de classification en s’appuyant sur des sources de données variées (données comportementales,
données provenant d'autres institutions financières, etc.).
Vous aurez sûrement besoin de joindre les différentes tables entre elles.
De plus, les chargés de relation client ont fait remonter le fait que les clients sont de plus en plus demandeurs de
transparence vis-à-vis des décisions d’octroi de crédit.
Votre mission
1. Construire un modèle de scoring qui donnera une prédiction sur la probabilité de faillite d'un client
de façon automatique.
2. Visualiser le score et l’interprétation de ce score pour chaque client de façon intelligible pour une
personne non experte en data science.
3. Construire un dashboard interactif à destination des gestionnaires de la relation client permettant
d'interpréter les prédictions faites par le modèle, et d’améliorer la connaissance client des chargés
de relation client.
Vous pourrez ainsi vous focaliser sur l’élaboration du modèle, son optimisation et sa compréhension. A cet
effet, je vous incite à sélectionner un kernel Kaggle pour vous faciliter la préparation des données nécessaires
à l’élaboration du modèle de scoring. Vous analyserez ce kernel et l’adapterez pour vous assurer qu’il répond
11
aux besoins de votre mission.
Home credit default risk (2/2)
Livrables
● Un notebook de l'analyse exploratoire mis au propre et annoté.
● Le code (ou un notebook) des différents tests de modèles mis au propre (fonction cout métier, optimisation,
métrique d’évaluation, interprétabilité globale/locale du modèle final), dans lequel vous identifierez
clairement le modèle final choisi.
● Un support de présentation pour la soutenance, détaillant le travail réalisé.
Pour faciliter votre passage au jury, déposez sur Github tous les livrables du projet. La structure du répertoire github
est à définir mais il doit contenir au minimum un dossier appelé “notebooks” contenant les notebooks créés pour
répondre à cette mission. A titre illustratif, vous pouvez nommer les fichiers selon l'ordre dans lequel il apparaît, par
exemple “scoring_01_analyse.ipynb”, “scoring_02_essais.ipynb”, et ainsi de suite.
Modalités de la soutenance
● 15 à 20 min de Présentation
○ Présentation de la problématique, de son interprétation et des pistes de recherche envisagées.
○ Présentation du cleaning effectué, du feature engineering et de l'exploration.
○ Présentation des différentes pistes de modélisation effectuées.
○ Présentation du modèle final sélectionné ainsi que des améliorations effectuées.
● 5 à 10 min de questions-réponses
12
Natural Language Processing with Disaster Tweets (1/2)
Vous êtes consultant pour Twitter, réseau social. Twitter est devenu un important canal de
communication en cas d'urgence.
L'omniprésence des smartphones permet aux gens d'annoncer une urgence qu'ils observent en
temps réel. C'est pourquoi de plus en plus d'organismes s'intéressent à la surveillance
programmatique de Twitter (par exemple, les organisations de secours en cas de catastrophe et les
agences de presse).
Mais il n'est pas toujours évident de savoir si les mots d'une personne annoncent réellement une
catastrophe. A cet effet, Twitter souhaite avoir un modèle de détection des tweets qui annoncent des
catastrophes.
Votre mission
● Vous devez construire un modèle d'apprentissage automatique qui prédit quels tweets sont
liés à des catastrophes réelles et lesquels ne le sont pas.
13
Natural Language Processing with Disaster Tweets (2/2)
Livrables
● Un notebook de l'analyse exploratoire mis au propre et annoté.
● Le code (ou un notebook) des différents tests de modèles mis au propre (optimisation,
métrique d’évaluation, interprétabilité du modèle final), dans lequel vous identifierez clairement
le modèle final choisi.
● Un support de présentation pour la soutenance, détaillant le travail réalisé.
Pour faciliter votre passage au jury, déposez sur Github tous les livrables du projet. La structure du
répertoire github est à définir mais il doit contenir au minimum un dossier appelé “notebooks”
contenant les notebooks créés pour répondre à cette mission. A titre illustratif, vous pouvez nommer
les fichiers selon l'ordre dans lequel il apparaît, par exemple “disastertweets_01_analyse.ipynb”,
“sdisastertweets_02_essais.ipynb”, et ainsi de suite.
Modalités de la soutenance
● 15 à 20 min de Présentation
○ Présentation de la problématique, de son interprétation et des pistes de recherche
envisagées.
○ Présentation du cleaning effectué, du feature engineering et de l'exploration.
○ Présentation des différentes pistes de modélisation effectuées.
○ Présentation du modèle final sélectionné ainsi que des améliorations effectuées.
● 5 à 10 min de questions-réponses
14
Restaurant Revenue Prediction
Avec plus de 1 200 restaurants à service rapide dans le monde, TFI est la société qui se cache derrière certaines
des marques les plus connues au monde : Burger King, Sbarro, Popeyes, Usta Donerci, et Arby's. Elle emploie
plus de 20 000 personnes en Europe et en Asie et réalise quotidiennement d'importants investissements dans le
développement de nouveaux sites de restauration.
À l'heure actuelle, décider quand et où ouvrir de nouveaux restaurants est un processus largement subjectif
basé sur le jugement personnel et l'expérience des équipes de développement. Ces données subjectives sont
difficiles à extrapoler avec précision d'une région à l'autre et d'une culture à l'autre.
Les nouveaux sites de restauration nécessitent d'importants investissements en temps et en capital pour être
opérationnels. Lorsque l'on choisit le mauvais emplacement pour une marque de restaurant, le site ferme dans les
18 mois et des pertes d'exploitation sont enregistrées.
Trouver un modèle mathématique permettant d'accroître l'efficacité des investissements dans les nouveaux
sites de restauration permettrait à TFI d'investir davantage dans d'autres domaines d'activité importants,
comme la durabilité, l'innovation et la formation des nouveaux employés. À l'aide de données démographiques,
immobilières et commerciales, ce projet vous met au défi de prédire les ventes annuelles de restaurants de 100
000 sites régionaux.
TFI vous à confier ce projet en tant qu’un expert Data Scientist afin de lui projet le meilleur prédictif.
Votre mission
Voici un récapitulatif de votre mission :
1. Réaliser une analyse exploratoire.
2. Tester différents modèles de prédiction afin de répondre au mieux à la problématique.
15
Restaurant Revenue Prediction
Livrables
● Un notebook de l'analyse exploratoire mis au propre et annoté.
● Le code (ou un notebook) des différents tests de modèles mis au propre (optimisation, métrique d’évaluation,
interprétabilité du modèle final), dans lequel vous identifierez clairement le modèle final choisi.
● Un support de présentation pour la soutenance, détaillant le travail réalisé.
Pour faciliter votre passage au jury, déposez sur Github tous les livrables du projet. La structure du répertoire github
est à définir mais il doit contenir au minimum un dossier appelé “notebooks” contenant les notebooks créés pour
répondre à cette mission. A titre illustratif, vous pouvez nommer les fichiers selon l'ordre dans lequel il apparaît, par
exemple “resto_revenue_01_analyse.ipynb”, “resto_revenue_02_essais.ipynb”, et ainsi de suite.
Modalités de la soutenance
● 15 à 20 min de Présentation
○ Présentation de la problématique, de son interprétation et des pistes de recherche envisagées.
○ Présentation du cleaning effectué, du feature engineering et de l'exploration.
○ Présentation des différentes pistes de modélisation effectuées.
○ Présentation du modèle final sélectionné ainsi que des améliorations effectuées.
● 5 à 10 min de questions-réponses
16
Bonus (facultatif)
● Dashboard (streamlit, dash,…): construire un
dashboard interactif permettant d'interpréter les
prédictions faites par le modèle, et d’améliorer la
connaissance client.
● Déployer sur le cloud (pythonanywhere, streamlit,…)
le modèle sous forme d'API (fastApi, flask,…)
17
Une fois le travail finalisé, vous devez:
Conclusion ● déposer au plus tard 48h avant la soutenance
votre travail sur Github
● m’envoyer un mail avec l’objet: “IML: Projet final”
en précisant le lien vers le github et le lien vers le
dashboard et/ou l’api (si nécessaire)
18