← All Projects

Book Recommendation System

Comparing rank-based, collaborative filtering, and matrix factorization approaches to recommend books

Overview

I built a system that suggests books a reader is likely to enjoy based on how people have rated books in the past.

Methodology

flowchart LR
  A["User-Item Ratings"] --> B[EDA & Filtering]
  B --> C["Approaches: Popularity / Collaborative Filtering / SVD"]
  C --> D["Evaluate: RMSE / Precision@K"]
  D --> E[Top-N Recommendations]

The Data: Users, Books & Ratings

I started with over a million book ratings and cleaned them down to the meaningful ones before modeling.

Exploratory Analysis

I explored how ratings are spread out and found that a few popular books get most of the attention.

Recommender Approaches

I tried four methods, from a simple popularity ranking to advanced models that learn hidden user and book patterns.

Results & Recommendations

Tuning improved every model, and item-based filtering gave the most accurate rating predictions.

Key Takeaways

Combining a simple popularity baseline with personalized models gives reliable book recommendations even from very sparse data.

Tech Stack

Attribution

This project was completed as part of the MIT Applied Data Science Program (MIT IDSS / Great Learning). The program provided the case-study scaffolding; the analysis, code, and results are my own. Published with permission, for portfolio use only.