https://github.com/bhimrazy/magazine-recommender-system
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.
https://github.com/bhimrazy/magazine-recommender-system
fastapi python recommender-system tailwindcss
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/bhimrazy/magazine-recommender-system
- Owner: bhimrazy
- License: mit
- Created: 2023-04-24T04:45:50.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-07T13:12:10.000Z (about 3 years ago)
- Last Synced: 2025-03-09T22:12:09.204Z (over 1 year ago)
- Topics: fastapi, python, recommender-system, tailwindcss
- Language: Jupyter Notebook
- Homepage: https://recsys-project-fuseai-production.up.railway.app
- Size: 4.79 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Magazine Recommender System
[](https://opensource.org/licenses/MIT)
This project implements a magazine recommender system using [Amazon review data from 2018](https://nijianmo.github.io/amazon/) . The system calculates similarity scores between magazines and recommends the most similar magazines to the user.
## Table of Contents
- [Magazine Recommender System](#magazine-recommender-system)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Data Preprocessing](#data-preprocessing)
- [Recommendation Algorithm](#recommendation-algorithm)
- [Web Interface](#web-interface)
- [Future Work](#future-work)
- [Contributing](#contributing)
- [License](#license)
- [Authors](#authors)
## Introduction
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.
## Getting Started
### Prerequisites
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
### Installation
1. Clone the repository
```sh
git clone https://github.com/bhimrazy/magazine-recommender-system.git
cd magazine-recommender-system
cd web
```
2. Install the required packages using pip
```sh
pip install -r requirements.txt
```
### Usage
To run the web interface, use the following command:
```sh
uvicorn main:app --reload
```
The web interface should now be accessible in your web browser at `http://localhost:8000/`.
## Data Preprocessing
The Amazon review data was preprocessed as follows:
1. Filtered the data to only include reviews for magazines.
2. Removed duplicate reviews.
3. Filtering Magazines and users
- Selecting users who have rated at least 5 magazines
- Selecting Magazines which have at least 10 reviews/ratings.



## Recommendation Algorithm
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.
## Web Interface
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.

## Future Work
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.
## Contributing
Contributions to this project are welcome. To contribute, please follow these steps:
1. Fork this repository.
2. Create a new branch for your changes.
3. Make your changes and commit them.
4. Push your changes to your fork.
## License
This project is licensed under the [MIT License](https://opensource.org/licenses/MIT) - see the [LICENSE](LICENSE) file for details.
## Authors
Contributions to this project were made by:
- [Bhimraj Yadav](https://github.com/bhimrazy)
- [Nishan Rai](https://github.com/Nishan8912)