Skip to content

An intuitive recommendation engine application built using Python and Streamlit.

License

Notifications You must be signed in to change notification settings

akshay-rf/KomorebiRex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KomorebiRex 🌄

Welcome to KomorebiRex, a powerful recommendation engine application that uses user-based, product-based, and hybrid filtering techniques to provide personalized recommendations from the Superstore dataset.

Table of Contents

Features

  • User-Based Filtering:

    • Fetch personalized recommendations for a specific user.
    • Select a user from a dropdown menu or type the user's name for recommendations.
  • Product-Based Filtering:

    • Obtain content-based recommendations for a specific product.
    • Input the product name to view relevant recommendations based on product features.
  • Hybrid Filtering:

    • Combine user-based and content-based filtering for hybrid recommendations.
    • Choose a user and product to generate personalized hybrid recommendations.
  • Interactive Feedback (Hybrid Mode):

    • Provide feedback by discarding recommended items.
    • Discarded items won't be recommended to the selected user in future sessions.

Demo

  • User-Based Menu: usrbsd
  • Product-Based Menu: enter image description here
  • Hybrid Menu: enter image description here

Installation

  1. Clone the repository:

    git clone https://github.com/akshay-rf/KomorebiRex.git
  2. Install dependencies:

    pip install -r requirements.txt 

Usage

  1. Run the application:

    streamlit run .\main.py
  2. Access the application: Open a web browser and navigate to http://localhost:8501 to use KomorebiRex.

SVD Model

  • SVD (Singular Value Decomposition), model based approach:

    • This algorithm takes a matrix factorization approach. The user-product rating matrix is factorized into smaller dimension user & item matrices consisting of latent factors (hidden characteristics). By default, number of latent factors is 100. These latent factors are able to capture the known user-item rating preference & in the process are able to predict an estimated rating for all user-item pair where user has not yet rated an item
  • Hyperparameter tuning with GridSearchCV:

    • Post Hyperparameter Tuning with GridSearchCV, the best parameters are found to be different for MAE & RMSE metrics
    • 'n_factors':50, 'n_epochs':10, 'lr_all':0.005 & 'reg_all': 0.2 have been chosen for building recommendations
  • Model Metrics:

     Unbiased Testing Performance
    
     MAE: 1.2182
     RMSE: 2.4628
     MAE: 1.2181591303900143, RMSE: 2.4628053726737846
    
    • The MAE & RMSE metrics for testset are comparable with what was obtained using cross validation & hyperparameter tuning stages with trainset.

    • Chosen model hence, generalizes well.

Dataset

The Superstore dataset contains sales data across various product categories and regions. KomorebiRex leverages this dataset to provide insightful recommendations based on user preferences and product features.

Contributing

Contributions to KomorebiRex are welcome! If you have ideas, bug fixes, or feature requests, feel free to open an issue or submit a pull request.

Authors

License

This project is licensed under the MIT License.

About

An intuitive recommendation engine application built using Python and Streamlit.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published