https://github.com/04bhavyaa/book-recommendation-system
The Book Recommendation System provides personalized book suggestions using Popularity-Based Recommender, Collaborative Filtering, and Cosine Similarity. Implemented with Flask, it allows users to enter a book title and receive tailored recommendations based on their preferences.
https://github.com/04bhavyaa/book-recommendation-system
artificial-intelligence book-recommendation-system collaborative-filtering cosine-similarity data-science flask-application machine-learning popularity-based-recommendation recommendation-system recommender-system
Last synced: 3 months ago
JSON representation
The Book Recommendation System provides personalized book suggestions using Popularity-Based Recommender, Collaborative Filtering, and Cosine Similarity. Implemented with Flask, it allows users to enter a book title and receive tailored recommendations based on their preferences.
- Host: GitHub
- URL: https://github.com/04bhavyaa/book-recommendation-system
- Owner: 04bhavyaa
- Created: 2024-12-28T16:43:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-02T13:56:48.000Z (over 1 year ago)
- Last Synced: 2025-02-28T06:34:17.315Z (over 1 year ago)
- Topics: artificial-intelligence, book-recommendation-system, collaborative-filtering, cosine-similarity, data-science, flask-application, machine-learning, popularity-based-recommendation, recommendation-system, recommender-system
- Language: Jupyter Notebook
- Homepage:
- Size: 19.1 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Book Recommendation System
A book recommendation system built using Popularity-Based Recommender, Collaborative Filtering, and Cosine Similarity. This project provides personalized book recommendations to users based on their preferences. It is implemented using Flask as the web framework.
### Watch the demo video:
[Click here to watch the demo video](Recommender-System.mp4)
### Features
- Popularity-Based Recommendation: Suggests books based on their popularity (e.g., top-rated books).
- Collaborative Filtering: Recommends books to a user based on the preferences of similar users.
- Cosine Similarity: Used to calculate similarity between user preferences and book attributes for recommendations.
- Flask Web App: A user-friendly interface where users can enter a book title and get recommendations.
### Tech Stack:
- Python: Core language for building the recommendation system.
- Flask: Web framework for creating the book recommender application.
- Pandas, Numpy, Matplotlib, Seaborn: Data manipulation and Visualization for handling, understanding book and user data.
- Cosine Similarity: Measure of similarity between two vectors of user preferences.
- Bootstrap: Front-end framework for responsive design.
### Usage:
1. Home Page: Users see a collection of top 50 books using popularty based filtering.
2. Recommendation Page: After entering a book title, users will be presented with a list of recommended books, sorted based on collaborative filtering.
3. Recommendation Types:
- Popularity-Based: Recommends top books based on overall ratings and votes.
- Collaborative Filtering: Uses user behavior (such as previous ratings and preferences) to recommend books.
- Cosine Similarity: Recommends books by finding similarities between user ratings or book attributes.
### Directory Structure:
```
Directory structure:
└── 04bhavyaa-book-recommendation-system/
├── book-recommendation-system.ipynb
├── app.py
├── book-data-eda.ipynb
├── data/
│ ├── ratings_books_users.csv
│ ├── book_data.pkl
│ ├── popular_books.pkl
│ ├── Ratings.csv
│ ├── Users.csv
│ ├── similarity_score.pkl
│ ├── pivot_table_data.pkl
│ └── Books.csv
├── README.md
├── templates/
│ ├── index.html
│ └── recommend.html
└── static/
└── styles.css
```
### Future Enhancements
1. Personalization: Allow users to create an account, rate books, and provide more tailored recommendations.
2. Machine Learning Models: Use advanced machine learning models like matrix factorization or deep learning for better recommendations.
3. Integration with Book APIs: Integrate with external APIs (like Google Books or Open Library) to fetch real-time book data and improve recommendations.