Report Bug 🐛 · Request Feature 🐣
Table of Contents
This repository holds user & item-based recommender systems in python 🧑🏽💻.
Recommender systems are the systems that are designed to recommend things to the user based on many different factors Types of recommender systems: Collaborative Recommender system, Content-based recommender system, Demographic-based recommender system, Utility-based recommender system, Knowledge-based recommender system, and Hybrid recommender system & many more 🐣
- Item Based 📱: a form of collaborative filtering for recommender systems based on the similarity between items calculated using people's ratings of those items.
- User-Based 🙋♂️: model finds the relation between user to user & check the probability of item getting selected by the particular user.
- Hybrid 👽: model find relations between items first then relations b/w users.
in short
It works as an item-based recommender system first & after it switches to a user-based recommender.
still confused? 🥲
if len(dataset > 100,000,000): userBasedRecommender() # 🤡 else: itemBasedRecommender() # 🤧
we will be using MovieLens data set, which consists of 100,000 movies along with ratings.
- Python3 🐍
- pandas 🐼
- numpy 🧠
- scipy ⚛️
- tensorflow 🤖
you need a computer/laptop 🐒
code/
┣ ml-100k/ # movie dataset
┣ item_based_filtering.py # item based recommender system
┣ predict_rating.py # predict rating of a movie based on user
┣ recommender_system.py # normal recommender system
┣ user_recommend.py # user based recommender system
- python - https://www.python.org/downloads/
- Machine Learning libraries tensorflow, pandas, numpy, scipy, nltk:
pip install tensorflow, pandas, numpy, scipy, nltk
- Clone the repo
git clone https://github.com/ankit5577/recommender_system.git
- Go to Folder
cd code
- Run Python File
# for user based recommender system python user_recommend.py # for item based recommender system python item_based_filtering.py # mixed recommender python recommender_system.py
clone the repo 👉 run the recommender you want 👉 let it train & run 🧑🏽💻
For AiBoost.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Ankit Kaushal - @ankit55771 - ankit@aiboost.in