Retour aux projets

PropreModelia : prédicteur de prix de terrains

Prototype d'apprentissage en ML qui prédit les prix de terrains algériens à partir de la superficie et du secteur par régression linéaire, FastAPI et Next.js.

PrototypePrototype d'apprentissage en ML / 2024

Problème

L'évaluation des terrains en Algérie manque d'estimations de prix transparentes fondées sur l'emplacement et la superficie.

Solution

Entraîner des régressions à une et plusieurs caractéristiques sur des données locales de terrains, les exposer via des endpoints FastAPI et construire une interface Next.js pour des estimations de prix en DZD.

Fonctionnalités clés

Régression à caractéristique unique : prédire le prix à partir de la seule superficie
Régression à plusieurs caractéristiques : prédire le prix à partir de la superficie + du secteur (campagne / ville)
Bascule dynamique du formulaire entre les deux modes de prédiction
Backend FastAPI avec les endpoints /predict-single et /predict-multi
Prix affiché en dinar algérien (DZD)
Interface responsive construite avec Material-UI et Tailwind CSS
Déployé sur Vercel avec un aperçu en ligne

Schéma d'architecture

Mermaid
flowchart LR
  User["Frontend Next.js (Material-UI + Tailwind CSS)"] --> Single["Formulaire à une caractéristique (superficie)"]
  User --> Multi["Formulaire à plusieurs caractéristiques (superficie + secteur)"]
  Single --> S_API["POST /predict-single"]
  Multi --> M_API["POST /predict-multi"]
  S_API --> ML["scikit-learn, régression linéaire (Python / FastAPI)"]
  M_API --> ML
  ML -.->|"predicted_price (DZD)"| User

Captures d'écran : PropreModelia

3 vues
L'écran d'accueil de PropreModelia : l'utilisateur saisit les détails du terrain et obtient aussitôt une estimation du prix en dinars algériens.
Modèle à caractéristique unique : régression linéaire de la superficie (m²) face au prix (DZD). La droite ajustée montre la tendance de prix apprise sur le jeu de données.
Modèle à plusieurs caractéristiques : régression par secteur. Le secteur 1 (ville, bleu/orange) atteint des prix plus élevés que le secteur 0 (campagne, vert/rouge) pour toutes les superficies.

Rôle

Projet d'apprentissage. J'ai entraîné de simples modèles de régression, construit le backend d'inférence FastAPI et réalisé le frontend Next.js.

Stack

Next.jsTypeScriptMaterial-UITailwind CSSFastAPIPythonscikit-learnVercel