The problem
'Readers who liked X also liked Y' is the oldest trick in recommendation — and still the backbone of how bookstores, libraries and reading apps suggest your next book. The idea is collaborative filtering: find items similar to the ones you liked, where similarity is learned from the rating behaviour of thousands of readers, not from genre tags. The Book-Crossing dataset is the public benchmark for this — 1.15 million ratings across 278,858 users and 271,379 books. This project builds item-based collaborative filtering on it properly: a user–item rating matrix, item–item cosine similarity, score aggregation, top-N ranking, and evaluation with Precision@5 and Recall@10. The interactive demo makes it tangible — pick books you liked and watch the evidence-cited recommendations appear.
How it works
- The Book-Crossing ratings (1–10 scale) are loaded, cleaned and assembled into a user–item rating matrix.
- Item–item cosine similarity is computed across the rating vectors, capturing which books are liked by the same readers.
- For a user's liked books, candidate scores are aggregated as Σ similarity × rating and ranked to produce the top-N list, each with its evidence book.
- A popularity baseline and a user-based CF variant are built for comparison on the same held-out ratings.
- Evaluation on held-out ratings measures Precision@5 and Recall@10 for all three methods; the comparison is reported honestly.
- In the web demo, your book picks are scored against the fitted similarities and the ranked, evidence-cited recommendations render instantly.
Tech stack:
- Python 3, Pandas, NumPy (matrix handling)
- scikit-learn (cosine similarity, metrics)
- Matplotlib (evaluation plots)
- Jupyter Notebook (analysis & evaluation)
- HTML5 + JavaScript (interactive recommender demo)
- Book-Crossing dataset (1.15M ratings)
Dataset & model details
- Dataset: Book-Crossing (Cai-Nicolas Ziegler) — 1.15 million ratings (1–10 scale) from 278,858 users on 271,379 books; the standard public benchmark for book recommendation.
- Task: Top-N recommendation; input = user's liked books, output = ranked book list with evidence citations.
- Model: Item-based collaborative filtering — item–item cosine similarity on the user–item matrix, score = Σ similarity × rating, top-N ranking. Compared against user-based CF and a popularity baseline.
- Metrics: Precision@5 ≈ 0.31, Recall@10 ≈ 0.42 (design targets for the built-to-order run) on held-out ratings, plus coverage over the catalogue. No figure is claimed as measured until the run is executed for the order.
| Parameter | Value |
|---|---|
| Input | User's liked books (1+ picks) |
| Output | Ranked top-N recommendations with evidence citations |
| Ratings | 1.15M (Book-Crossing), 1–10 scale |
| Similarity | Item–item cosine on user–item matrix |
| Precision@5 | ≈ 0.31 (design target, not a measured claim) |
| Recall@10 | ≈ 0.42 (design target, not a measured claim) |
| Recommendation latency | Under 100 ms for the demo catalogue (expected) |
| Demo | Single-file web app, runs offline after download |
Project features
- [Item-based collaborative filtering] Item–item cosine similarity computed on the user–item rating matrix; recommendations scored by Σ similarity × rating and ranked top-N — the canonical, explainable CF approach.
- [Explainable recommendations] Every suggestion cites the evidence book from your picks that drove it ('because you liked The Hobbit') — recommendations you can defend, not black-box scores.
- [Interactive recommender demo] Pick from 12 well-known books, get ranked recommendations instantly with match scores and evidence citations.
- [Real benchmark dataset] Book-Crossing — 1.15M ratings, 278,858 users, 271,379 books — the public standard for book recommendation research.
- [Ranking evaluation] Precision@5 ≈ 0.31 and Recall@10 ≈ 0.42 (design targets) measured on held-out ratings — the correct metrics for recommenders, not classification accuracy.
- [Baseline comparison] Item-based CF compared against user-based CF and a popularity baseline, so the report shows why the chosen method wins.
- [Full analysis notebook] Matrix construction, similarity computation, ranking, evaluation and baseline comparison in one reproducible Jupyter notebook.
- [Exported similarity model] Fitted item similarities saved, so the demo recommends with the real model instantly.
What is included
- Complete analysis Jupyter notebook (similarity, ranking, evaluation, baselines)
- Fitted item-similarity model files
- Interactive recommender web demo with explainable suggestions
- Precision/recall plots and baseline comparison figures
- Project report PDF (background, CF theory, methodology, evaluation, cold-start discussion)
- PPT presentation for final review
- Viva Q&A preparation document (user-based vs item-based CF, cosine similarity, sparsity, cold start, ranking metrics)
Limitations & prerequisites
- Cold start: new users with no ratings and new books with no ratings get weak recommendations — the report discusses this fundamental CF limit honestly.
- The 1.15M-rating matrix is sparse; similarity quality depends on rating density, discussed in the report.
- Popularity bias: widely-rated books dominate suggestions; the report covers this and lists diversification as future scope.
- The demo uses a 12-book catalogue to illustrate the method; the shipped build runs on the full Book-Crossing matrix.
- All metric figures are design targets for the run, stated honestly — the report documents the actual achieved figures.
Frequently Asked Questions
Why item-based instead of user-based CF?
Item similarities are stable as users come and go, recommendations are explainable (each cites its evidence book), and it needs no user profile — the report compares both against a popularity baseline so the choice is evidence-backed.
What is Book-Crossing?
A public book-rating dataset with 1.15 million ratings from 278,858 users on 271,379 books — the standard benchmark researchers use for book recommendation experiments.
How are recommendations explained?
Each suggestion names the book from your picks most similar to it ('because you liked The Hobbit'), with the similarity score shown. Explainability is a first-class feature, not an afterthought.
What is the cold-start problem?
Collaborative filtering needs ratings to find similarities — a brand-new user or book has none, so the system falls back to popularity. The report discusses this openly with mitigations listed as future scope.
What does the report cover?
Recommender-system background, the Book-Crossing dataset, item-based CF theory, the baseline comparison, ranking-metric evaluation, the cold-start and sparsity discussion, limitations, and future scope.
Is this project suitable for a final-year project?
Yes — for Computer Science, IT and AI/ML programs. Recommender systems are intuitive to demo, the evaluation is methodologically interesting, and the explainability angle gives the viva real substance. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and AI & Machine Learning.
Components & software requirements
- Python 3, Pandas, NumPy (matrix handling)
- scikit-learn (cosine similarity, metrics)
- Matplotlib (evaluation plots)
- Jupyter Notebook (analysis & evaluation)
- HTML5 + JavaScript (interactive recommender demo)
- Book-Crossing dataset (1.15M ratings)
Dataset & model details
- Dataset: Book-Crossing (Cai-Nicolas Ziegler) — 1.15 million ratings (1–10 scale) from 278,858 users on 271,379 books; the standard public benchmark for book recommendation.
- Task: Top-N recommendation; input = user's liked books, output = ranked book list with evidence citations.
- Model: Item-based collaborative filtering — item–item cosine similarity on the user–item matrix, score = Σ similarity × rating, top-N ranking. Compared against user-based CF and a popularity baseline.
- Metrics: Precision@5 ≈ 0.31, Recall@10 ≈ 0.42 (design targets for the built-to-order run) on held-out ratings, plus coverage over the catalogue. No figure is claimed as measured until the run is executed for the order.
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.