This project is a Book Recommendation System with a graphical user interface built using Tkinter. It uses collaborative filtering and TF-IDF (Term Frequency-Inverse Document Frequency) to suggest books based on user input.
- User-friendly GUI for easy interaction
- Book recommendations based on title input
- Displays book details including title, author, publication year, and publisher
- Shows book cover images for visual reference
- Ability to view larger cover images
- Python 3.7+
- pandas
- numpy
- scikit-learn
- tkinter
- pandastable
- Pillow
- requests
-
Clone this repository:
git clone https://github.com/ayushnangia/Bookrecomd.git cd Bookrecomd
-
Install the required packages:
pip install pandas numpy pillow requests pandastable sklearn
-
Download the dataset files (Books.csv, Users.csv, Ratings.csv) and place them in the project directory.
-
Run the main script:
python project.py
-
Enter a book title in the input field.
-
Click the "Get Recommendations" button to see similar book recommendations.
-
Click on "View Cover" to see a larger version of the book cover.
-
The system loads and preprocesses data from CSV files containing book information, user data, and ratings.
-
It uses TF-IDF vectorization on book titles to create a matrix representation of the books.
-
Cosine similarity is computed between book vectors to find similar books.
-
When a user inputs a book title, the system finds the most similar books based on cosine similarity scores.
-
The recommendations are displayed in a table format with book details and cover images.
project.py
: The main script that runs the GUI and recommendation system.Books.csv
: Dataset containing book information.Users.csv
: Dataset containing user information.Ratings.csv
: Dataset containing user ratings for books.images/
: Directory to store downloaded book cover images.logo.ico
: Icon file for the application window.