radioactive11 / rezonance

Content Based Music Recommendation Service
https://rezonance.vercel.app
GNU General Public License v3.0
35 stars 15 forks source link
heroku music-recommendation-system python3 react scikit-learn

[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]


Logo

reZonance

Content Based Music Recommendation Service
Visit the website »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

![Product Name Screen Shot][product-screenshot]

reZonance is a Content Based Recommendation Service which suggests songs similar to the one chosen by the user. It has approximately 160,000 songs in its database and takes about 300ms to generate recommendations.

Following are some core concept on which this project relies on


Content-based filtering uses item features to recommend other items similar to what the user likes, based on their previous actions or explicit feedback.


Cosine similarity measures the similarity between two vectors by calculating the cosine of the angle between them. A simple visualization and the formula can be found below.


Advantage over Collaborative Filtering

Recommendation engines that run on collaborative filtering recommend each item (products advertised on your site) based on user actions. The more user actions an item has, the easier it is to tell which user would be interested in it and what other items are similar to it. As time progresses, the system will be able to give more and more accurate recommendations.

This, however, brings a major contradiction and difficulty to classified sites and their recommendation engines. Even though a new song can actually be the the most relevant one to a user, a recommendation system has far less confidence in recommending them than it has with older songs, but it’s just simply not a good idea to let songs ads dominate the recommendation process.

Similarly newer users cannot be provided with accurate recommendations until the user has made few choices himself/herself which will tune the recommendation algorithm. ## Built With

Python pandas JS React Heroku

## Getting Started To get a local copy up and running follow these simple example steps. ### Prerequisites * React * Python 3.6+ ### Installation
#### Flask API
1. Clone the repo ```sh git clone https://github.com/radioactive11/rezonance ``` 2. Install requirements ```sh pip3 install -r requirements.txt ``` 3. Start Flask server (by default at `localhost:5000`) ```sh python3 app.py ```
#### React
1. Clone the repo ```sh git clone https://github.com/radioactive11/rezonance ``` 2. Install required packages ```sh cd client npm install ``` 3. Start React Development server (by default at `localhost:3000`) ```sh npm start ```
## Usage * ### Visit the [website](https://rezonance.vercel.app) and click on get started * ### Enter name of Song or Artist name, for which you want similar songs, to search. Click on a card to chose a song. * ### In the recommendation page, click on a song to listen to a 30 second preview of the song. Click again on the card to pause it. *NOTE: some songs do not have a preview due to copyright issues.* ## Roadmap See the [open issues](https://github.com/radiaoctive11/rezonance/issues) for a list of proposed features (and known issues). ## Contributing Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**. 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## Contact Arijit Roy - [GitHub](https://github.com/radioactive11) - roy.arijit2001@gmail.com Kartik Goel - [GitHub](https://github.com/kg-kartik) - goel.kartik39@gmail.com Website: [https://rezonance.vercel.app](https://rezonance.vercel.app/)

Thank You StackOverflow :sweat_smile:

[contributors-shield]: https://img.shields.io/github/contributors/radioactive11/rezonance.svg?style=flat-square [contributors-url]: https://github.com/radiaoctive11/rezonance/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/radioactive11/rezonance.svg?style=flat-square [forks-url]: https://github.com/radiaoctive11/rezonance/network/members [stars-shield]: https://img.shields.io/github/stars/radioactive11/rezonance.svg?style=flat-square [stars-url]: https://github.com/radiaoctive11/rezonance/stargazers [issues-shield]: https://img.shields.io/github/issues/radioactive11/rezonance.svg?style=flat-square [issues-url]: https://github.com/radiaoctive11/rezonance/issues [license-shield]: https://img.shields.io/github/license/radioactive11/rezonance.svg?style=flat-square [license-url]: https://github.com/radiaoctive11/rezonance/blob/master/LICENSE.txt [product-screenshot]: STATIC_IMG/vid.gif