This project implements a magazine recommender system using Amazon review data from 2018 . The system calculates similarity scores between magazines and recommends the most similar magazines to the user.
This project implements a magazine recommender system using Amazon review data from 2018. The system is designed to recommend magazines to users based on their interests and preferences. The recommender system calculates similarity scores between magazines using the cosine similarity metric and recommends the most similar magazines to the user.
The project also includes a web interface that allows users to enter their ratings for magazines and receive recommendations for similar magazines. The web interface was implemented using FastAPI and Tailwind CSS.
To run this project, you need to have Python 3.7 or later installed on your system. You also need to have the following packages installed:
- pandas
- scikit-learn
- numpy
- fastapi
- uvicorn
- tailwind
- Clone the repository
git clone https://github.com/bhimrazy/magazine-recommender-system.git
cd magazine-recommender-system
cd web
- Install the required packages using pip
pip install -r requirements.txt
To run the web interface, use the following command:
uvicorn main:app --reload
The web interface should now be accessible in your web browser at http://localhost:8000/
.
The Amazon review data was preprocessed as follows:
- Filtered the data to only include reviews for magazines.
- Removed duplicate reviews.
- Filtering Magazines and users
- Selecting users who have rated at least 5 magazines
- Selecting Magazines which have at least 10 reviews/ratings.
The recommender system uses the cosine similarity metric to calculate the similarity scores between magazines. The most similar magazines are recommended to the user based on their ratings of other magazines.
The web interface was implemented using FastAPI and Tailwind CSS. The user can enter their ratings for magazines and receive recommendations for similar magazines. The recommendations are updated dynamically as the user enters their ratings.
Some potential areas for future work on this project include:
- Evaluating the performance of the recommender system using metrics such as precision, recall, and F1 score.
- Implementing a collaborative filtering algorithm to improve the accuracy of the recommendations.
- Scaling the system to handle larger datasets using techniques such as MapReduce.
Contributions to this project are welcome. To contribute, please follow these steps:
- Fork this repository.
- Create a new branch for your changes.
- Make your changes and commit them.
- Push your changes to your fork.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions to this project were made by: