Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/satya04m/recommender-system
The Recommender-System project is a machine learning-based application designed to predict user preferences and provide personalized recommendations. It leverages various algorithms, such as collaborative filtering and content-based filtering, to analyze user data and suggest relevant items. The project also includes a CI/CD pipeline for automating
https://github.com/satya04m/recommender-system
deep-learning deep-neural-networks mse neural-network python recommendation-system rmse-score
Last synced: 3 days ago
JSON representation
The Recommender-System project is a machine learning-based application designed to predict user preferences and provide personalized recommendations. It leverages various algorithms, such as collaborative filtering and content-based filtering, to analyze user data and suggest relevant items. The project also includes a CI/CD pipeline for automating
- Host: GitHub
- URL: https://github.com/satya04m/recommender-system
- Owner: satya04m
- Created: 2024-08-12T17:52:44.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-13T16:57:52.000Z (5 months ago)
- Last Synced: 2024-11-21T07:12:00.616Z (2 months ago)
- Topics: deep-learning, deep-neural-networks, mse, neural-network, python, recommendation-system, rmse-score
- Language: Python
- Homepage:
- Size: 1.51 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Recommender-System
## Overview
The **Recommender-System** project implements a robust recommendation engine for predicting user preferences. This project serves as a learning path for developing and deploying a recommender system using various data processing and machine learning techniques.
![System-Architecture](./System-Architecture.png)
## Tech Stack
- **Python**: Core programming language for implementing the recommendation algorithms.
- **Pandas**: Data manipulation and analysis library.
- **NumPy**: Supports large, multi-dimensional arrays and matrices.
- **SciKit-Learn**: Machine learning library for implementing algorithms.
- **Surprise**: A Python library for building and analyzing recommender systems.
- **Jupyter Notebook**: An open-source web application to create and share documents with live code, equations, visualizations, and narrative text.
- **Flask**: Micro web framework used to deploy the model as a web service.
- **Docker**: Containerizes the application for consistent deployment.
- **GitHub Actions**: Automates CI/CD pipeline for the project.
- **Kubernetes**: Orchestrates containerized application deployment.## Output
Here are some examples of the outputs generated by the Recommender-System:
![Output Example 1](./OUTPUT1.png)
![Output Example 2](./OUTPUT2.png)
## Pipeline Flow
- **Data Collection**: Gathering and preprocessing data.
- **Model Training**: Using collaborative filtering, content-based filtering, or hybrid models.
- **Evaluation**: Evaluating the model’s performance using metrics like RMSE or precision.
- **Containerization**: Containerizing the application using Docker.
- **CI/CD Pipeline**:
- **Code Commit & Push**: Code is pushed to the GitHub repository.
- **GitHub Actions Trigger**: GitHub Actions triggers the pipeline upon code push.
- **Build & Test**: Builds the application and runs tests.
- **Docker Build**: Builds a Docker image of the application.
- **Push Docker Image**: Pushes the Docker image to a container registry.
- **Deploy to Kubernetes**: Deploys the application to a Kubernetes cluster.
- **Monitoring & Logging**: Set up Prometheus and Grafana for monitoring and logging the application’s performance.