TasteEngine / plan /01-overview.md
Abdallah4z's picture
Initial implementation of TasteEngine: multi-approach recommender system with Flask web UI, evaluation suite, and explanation engine
133a630
|
Raw History Blame Contribute Delete
2.77 kB

Project Overview

Intelligent E-Commerce Recommendation System

A multi-approach recommender system for an e-commerce platform that generates personalized product recommendations using three different recommendation approaches, with comprehensive evaluation and comparison.

Tech Stack

Component Technology
Backend Python + Flask
Frontend HTML / CSS / JS (glassmorphism + minimalist design)
Data Synthetic dataset (NumPy + Pandas)
ML/Similarity Scikit-learn, NumPy, Pandas
Visualization Chart.js (in-browser charts)

Key Requirements

  1. Three approaches: Collaborative Filtering, Content-Based, Knowledge-Based
  2. 4+ CF methods: User-Based, Item-Based, SVD, KNN
  3. 4+ evaluation techniques: RMSE, MAE, Precision@K, Recall@K, F1, Coverage
  4. Explainable recommendations: Human-readable reasons for each suggestion
  5. Comparison & analysis: Which method/approach performs best and why

System Flow

User Input β†’ Select Approach β†’ Recommendation Engine β†’ 
    β†’ Evaluation Module β†’ Comparisons β†’ UI Display

Architecture

recommender-project/
β”œβ”€β”€ app.py                    # Flask entry point (routes)
β”œβ”€β”€ requirements.txt          # Dependencies
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ generate_data.py      # Synthetic dataset generator
β”‚   β”œβ”€β”€ products.csv          # Product catalog (500 items)
β”‚   β”œβ”€β”€ users.csv             # User profiles (200 users)
β”‚   β”œβ”€β”€ ratings.csv           # User-item ratings (5000+)
β”‚   └── interactions.csv      # Purchase history
β”œβ”€β”€ recommender/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ collaborative.py      # 4+ CF methods
β”‚   β”œβ”€β”€ content_based.py      # Content-based methods
β”‚   β”œβ”€β”€ knowledge_based.py    # Knowledge-based methods
β”‚   β”œβ”€β”€ evaluation.py         # 4+ evaluation techniques
β”‚   └── explainer.py          # Explanation generator
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ similarity.py         # Similarity metrics (cosine, pearson, etc.)
β”‚   └── helpers.py            # Common utilities
β”œβ”€β”€ static/
β”‚   └── css/
β”‚       └── style.css         # Professional UI styles
β”œβ”€β”€ templates/
β”‚   β”œβ”€β”€ index.html            # Home page
β”‚   β”œβ”€β”€ recommend.html        # Recommendation results
β”‚   └── evaluation.html       # Evaluation & comparison dashboard
└── plan/
    β”œβ”€β”€ 01-overview.md
    β”œβ”€β”€ 02-dataset.md
    β”œβ”€β”€ 03-collaborative-filtering.md
    β”œβ”€β”€ 04-content-based.md
    β”œβ”€β”€ 05-knowledge-based.md
    β”œβ”€β”€ 06-evaluation.md
    β”œβ”€β”€ 07-explanation.md
    β”œβ”€β”€ 08-ui-ux.md
    └── 09-implementation-phases.md