A book recommendation system that uses collaborative filtering to suggest books to users based on their reading preferences. This system is built using Python and has a Streamlit frontend for easy interaction.
- Collaborative Filtering: Recommends books based on user similarities.
- Streamlit Frontend: Interactive web interface to get book recommendations.
- Dataset: Uses book ratings, book information, and user information for recommendations.
The dataset contains three files:
- Books: Information about books (author, title, publication year, etc.).
- Users: Information about users (user id, location).
- Ratings: Ratings given by users to books.
- Removed unnecessary columns.
- Renamed columns for easier use.
- Filtered users with at least 200 ratings and books with at least 50 ratings.
- Created a pivot table with user ids as columns, book titles as rows, and ratings as values.
- Converted the pivot table to a sparse matrix.
- Trained a Nearest Neighbors model using the sparse matrix.
-
Clone the repository:
git clone https://github.com/yourusername/Book-Recommendation.git cd Book-Recommendation
- Run the Streamlit app:
streamlit run main.py
- Select a book from the dropdown menu.
- Click the "Show Recommendation" button to get recommended books along with their images.
This book recommendation system efficiently recommends books based on user preferences using collaborative filtering and provides an interactive interface for users to get book recommendations.