Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:master:bdle:tmes:projet2020

Mini-projets 2020-2021

Deux mini projets sont prévus

Projet 1

Lire le sujet du Projet 1

Rappels : notebook databricks du TP1, PUBLIC_DATASET, channel BDLE

Date de remise : déposer dans moodle une première version non définitive de votre projet le vendredi 23/10/2020 avant 8:30. Vous pourrez ensuite déposer une version finale jusqu’au jeudi 29/10/2020.

Pour la remise finale, les sections #Tache1 à #Tache4 doivent apparaitre très clairement dans le notebook comme titre de premier niveau. Commencer chaque section de tâche par quelques lignes résumant ce que vous avez réussi à faire. Ajouter votre NOM Prénom dans la première cellule du notebook

Fournir ceci dans la remise:

  • l'URL databricks de votre notebook
  • les export du notebook aux formats HTML et ipynb

Projet terminé. Voir les éléments de solution dans Moodle.

Projet 2

Le notebook des réponses devra contenir les informations suivantes :

  • Nom(s) et prénom(s) du groupe (monôme ou binôme mais pas au delà)
  • Description des données utilisées
    • Source : lien vers la source publique des données ou lien de téléchargement si pas de lien publique
    • Taille : en MB et en nb_lignes
    • Description breve des données, quelle est la variable à prédire
    • L'argumentaire demandé dans chacune des taches décrites ci-dessous

Modalités

Rendre

  1. un document pdf avec lien vers un notebook Databricks contenant code source et informations décrites ci-haut
  2. un document HTML obtenu en exportant votre notebook

Date de remise : à partir du 10-12-2020 jusqu'au 20-12-2020 23h59 sur Moodle

Le sujet traité est la réalisation d’un pipeline ML pour entrainer un arbre de décision pour la *régression* à l’aide de l'API Spark ML décrite en cours, Le langage utilisé est Scala. L'objectif principal est d'être confronté à des problématiques réelles rencontrées lorsqu'on traite des données “brutes”. Vous être libre d'utiliser le dataset de votre choix dont la taille sera entre 10 MB et 50 MB. Ce dataset devra mixer entre valeurs textuelles et numériques. Vous pouvez également extraire un echantillon d'un dataset volumineux si besoin.

Tache 1

  • Identifier les données manquantes : extraire, pour chaque attribut, sa proportion de valeurs nulles
  • Identifier les valeurs aberrantes en fonction de votre dataset, s'il y en a
  • Sélectionner un sous-ensemble d'attributs pertinents en suivant des critères qui vous semblent pertinents et que vous documenterez.

Les critères du dernier point seront définis en vous appuyant sur votre compréhension des données ou sur des indications fournies par l'auteur des données (ex. les données fournies dans le cadre d'un challenge sont souvent accompagnées de suggestions des participants).

Tache 2

Créer un pipeline pour encoder les features comme vu en cours : indexation des string, assemblage des vecteurs puis indexation.

Préciser quelles variables donnent lieux à des “catgorical features” et quelles variables donnent lieux à des features continues.

A titre d'exemple, pour un dataset avec des attributs timestamps, envisager une opération roll-up vers le mois ou l'année.

Construire une paire 30%-70% de jeux de test et d'entrainement.

Lancer l'entrainement de l'arbre de décision puis afficher ses paramètres.

Analyser les métriques RMSE et MAE et donner votre impression sur la qualité du modèle.

Tache 3

Sous-tache a

Mettre en place une cross validation avec 3 folds, et y inclure un grid search avec un ensemble de paramètres qui vous semblent pertinents.

Afficher pour le meilleur modèle sélectionné :

  • les paramètres de l'arbre
  • les métriques RMSE et MAE et les comparer à celles obtenues en
Sous-tache b

Dans une tentative d’améliorer la précision :

  • sélectionner un sous-ensembles des données en suivant également des critères qui vous semblent pertinents (valeurs aberrantes, prediction trop imprecise)
  • Imputation des valeurs manquantes si possible (explorer l'estimateur d'imputation de Spark ML)
  • Toute autre astuce qui vous semble utile

Relancer la cross validation avec le dataset nettoyé et constater les nouvelles valeurs des métriques.

Tache 4

Donner succinctement votre avis sur la libraire ML : difficultés rencontrées, aspects appréciés, facilité d'utilisation par rapport à d'autres librairies plus familières .

Divers

site/enseignement/master/bdle/tmes/projet2020.txt · Dernière modification: 14/12/2020 09:47 par amine