Projet de
Site de Manipulation de Data
avec Clustering, Nettoyage et Prédictions
Lien GitHub
Le projet BabaMaCo a été conçu pour fournir une application complète de data mining, capable de traiter, analyser et visualiser des données provenant de fichiers CSV. L'objectif principal était de permettre aux utilisateurs de charger leurs données, de gérer les valeurs manquantes, de normaliser les données, de réaliser des analyses de clustering et de prédiction, et de visualiser les résultats de manière interactive. En tant que responsable de la partie prédiction, j'ai utilisé des modèles de régression et de classification pour prévoir les données et visualiser la qualité des prédictions, ce qui a permis de démontrer mes compétences en data mining et en modélisation prédictive.
Lorsqu'un utilisateur arrive sur l'application, il peut importer un fichier CSV, ce qui déclenche l'affichage du dataset avec des statistiques et des graphiques pertinents. J'ai contribué à cette fonctionnalité en intégrant des bibliothèques comme pandas pour le chargement et le nettoyage des données. Nous avons veillé à éliminer les caractères mal interprétés et à gérer les valeurs nulles en utilisant diverses méthodes telles que la suppression des lignes, le remplissage par la médiane, le mode, la moyenne, le KNN ou la régression. Cela a mis en avant mes compétences en gestion de système de données et en nettoyage des données.
Après le prétraitement des données, l'application offre plusieurs options de normalisation, comme normalizeMinMax, normalizeMaxAbs, normalizeRobust, normalizeImg et standardisationZScore. Ces méthodes permettent de redimensionner les données selon les besoins spécifiques de l'analyse. Mon rôle dans cette partie du projet a consisté à implémenter et tester ces différentes techniques, assurant ainsi une flexibilité maximale pour les utilisateurs.
Pour la prédiction, l'utilisateur spécifie la colonne cible et choisit entre régression linéaire et classification. J'ai automatisé le choix du modèle en fonction du type de données et implémenté des méthodes pour compléter les données manquantes, telles que la suppression des lignes, le remplissage par la médiane, le mode, la moyenne, le KNN ou la régression. Les résultats des modèles sont évalués avec des mesures comme le coefficient R² et le MSE pour la régression, et le score d'exactitude pour la classification. J'ai également développé des visualisations pour comparer les valeurs prédites et réelles, démontrant mes compétences en évaluation de modèles et en visualisation de données.
L'interface utilisateur de l'application, développée avec Streamlit, guide l'utilisateur à travers chaque étape du traitement. Les différentes étapes du processus sont accessibles via un menu interactif, permettant de revenir à une étape antérieure ou de passer à l'étape suivante. J'ai participé à la conception de cette interface, intégrant des éléments interactifs et des visualisations dynamiques, ce qui a permis de rendre l'expérience utilisateur fluide et intuitive.
Au cours du développement de ce projet, j'ai collaboré étroitement avec mon équipe, partageant les tâches et intégrant nos contributions pour créer une application cohérente et fonctionnelle. Cette expérience a renforcé mes compétences en collaboration d'équipe, en gestion de projet et en développement d'applications web.
En conclusion, le projet BabaMaCo démontre mes compétences en gestion de systèmes de données et en développement de modèles prédictifs. La flexibilité de l'application et l'intégration de diverses méthodes de traitement et d'analyse permettent de répondre à une large gamme de besoins en data mining, assurant ainsi des résultats optimaux pour divers types de données et analyses.