← Retour aux projets

Iris

DockerMachine learningMongoRedisFastAPISveltePython
Voir le projet en ligne →
Iris

Projet de cours : classification des espèces de fleurs Iris avec un pipeline NoSQL (MongoDB, Redis), un modèle de Machine Learning (Random Forest) et une interface web interactive de prédiction.

Contexte

Projet réalisé dans le cadre d'un cours de bases de données NoSQL et Machine Learning. Objectif : analyser le dataset Iris (Fisher, 1936) et construire un pipeline complet, du stockage des données jusqu'à une application web de prédiction en temps réel.

Fonctionnalités

  • Ingestion du dataset Iris dans MongoDB (schéma document avec sous-document "features") et mise en cache dans Redis

  • Analyse statistique descriptive et visualisations (pairplot, matrice de corrélation, boxplots) avec Pandas et Seaborn

  • Régression linéaire simple et multiple (Statsmodels) — jusqu'à 96,8% de variance expliquée

  • Classification supervisée par Random Forest (Scikit-learn), ~96% de précision, exposée via une API FastAPI

  • Classification distribuée avec Spark MLlib

  • Benchmark de performance comparant MongoDB et Redis (latence, débit)

  • Interface web interactive (SvelteKit) avec formulaire de prédiction en temps réel et visualisation des analyses

  • Environnement conteneurisé avec Docker Compose et pipeline CI/CD GitLab

Stack technique

  • Backend : Python, FastAPI, Scikit-learn, Pandas, Statsmodels

  • Big Data : Apache Spark (MLlib)

  • Bases de données : MongoDB, Redis

  • Frontend : SvelteKit

  • Infrastructure : Docker, Docker Compose, GitLab CI/CD