Auteur : Étudiant 2ème Année Informatique
Date : 2026
Secteur : E-commerce Multi-catégories
Application complète d'analyse de données pour le secteur e-commerce, développée dans le cadre du module INF232 EC2 (Analyse de données). Le projet intègre :
- Régression Linéaire Simple
- Régression Linéaire Multiple
- Réduction de Dimensionnalité (PCA)
- Classification Supervisée (Random Forest, Régression Logistique)
- Classification Non-Supervisée (K-Means)
api/: Backend FastAPI avec les endpoints d'analyseapp/: Frontend Streamlit interactifdata/: Dataset généré automatiquementrequirements.txt: Dépendances Python
| Technologie | Rôle |
|---|---|
| FastAPI | API REST pour les modèles ML |
| Streamlit | Interface utilisateur interactive |
| Pandas | Manipulation des données |
| NumPy | Calculs numériques |
| Scikit-learn | Algorithmes de ML |
| Plotly | Visualisations interactives |
# 1. Cloner / extraire le projet
cd ecommerce_analytics
# 2. Créer un environnement virtuel (recommandé)
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou: venv\Scripts\activate # Windows
# 3. Installer les dépendances
pip install -r requirements.txt
# 4. Lancer l'API FastAPI (Terminal 1)
cd api
uvicorn main:app --reload --host 0.0.0.0 --port 8000
# 5. Lancer Streamlit (Terminal 2)
cd app
streamlit run streamlit_app.pyLa méthode la plus simple pour obtenir un lien exécutable :
- Créer un dépôt GitHub public
- Pousser les fichiers du projet
- Se connecter à share.streamlit.io
- Déployer le dossier
app/streamlit_app.py - Le lien généré est à envoyer au professeur
Note : L'application utilise directement les modules Python (pas d'appel HTTP obligatoire), ce qui permet un déploiement Streamlit Cloud très simple en un seul fichier.
- Choix de la variable X et Y
- Affichage du R², RMSE, coefficient
- Nuage de points réel vs prédit
- Graphique des résidus
- Sélection multiple de features
- Standardisation automatique
- Tableau des coefficients
- Importance des variables
- Sélection des variables à réduire
- Variance expliquée par composante
- Projection 2D interactive colorée par catégorie
- Prédiction de la fidélité client (
est_client_fidele) - Random Forest vs Régression Logistique
- Matrice de confusion
- Courbe de probabilités
- Rapport de classification complet
- Choix du nombre de clusters K
- Méthode du coude (Elbow)
- Score Silhouette
- Visualisation PCA des clusters
- Profils moyens par cluster
| Qualité | Implémentation |
|---|---|
| Créativité | Secteur e-commerce original avec corrélation entre comportement client et CA |
| Robustesse | Gestion des erreurs, validations Pydantic, fallback local, dataset auto-généré |
| Efficacité | Temps d'exécution mesurés, graphiques Plotly rapides, code vectorisé NumPy |
Pour le rendu, voici les pages à montrer :
- Exploration des données (histogrammes)
- Régression simple avec équation
- PCA avec clusters colorés
- Classification (matrice de confusion)
- K-Means (méthode du coude)
Lien de l'application : (à compléter après déploiement Streamlit Cloud)
Projet réalisé dans le cadre du TP INF232 EC2.