Sign inSign up

keneandita/recommendation_system

By keneandita

•Updated about 1 year ago

AI-powered engine matching teachers to courses using filtering and cosine similarity

Image
Machine learning & AI
Data science
Web servers
0

323

keneandita/recommendation_system repository overview

⁠Project Summary

This repository contains a containerized Teacher Recommendation System, designed to help users find the most suitable teachers based on experience, rating, courses taught, and other relevant attributes. The system combines a data processing pipeline with a Streamlit interface, providing an interactive platform for real-time teacher recommendations.

The Docker container encapsulates Python, Streamlit, and required dependencies, enabling immediate deployment without local setup.


⁠Architecture Overview

The Teacher Recommendation System is structured in two main components:

  • Data Processing Pipeline: Implemented in Teachers_Recommendation_Updated.ipynb, this component prepares teacher data by scaling numerical features, encoding categorical attributes, and generating vector representations for similarity-based recommendations.
  • Recommendation Engine: Uses content-based filtering with cosine similarity to identify the best matching teachers for given criteria.
  • Streamlit Interface: Provides a responsive, interactive web app where users can filter and search teachers based on subjects, certifications, experience, and teaching style.
  • Container Environment: Docker ensures all dependencies, preprocessed data files, and Python libraries are bundled for reproducible execution.

This architecture allows scalable teacher recommendations on large datasets while maintaining an accessible front-end interface.


⁠Key Features

Content-Based Teacher Recommendations

Matches teachers to courses based on experience, rating, subject expertise, and teaching style.

Real-Time Filtering

Users can filter teachers using multiple criteria such as subjects, certifications, education level, and ratings.

Scalable Design

Supports large datasets with vectorized teacher representations for fast similarity computations.

Interactive Streamlit UI

User-friendly web interface for searching, filtering, and viewing recommended teachers.

Containerized Deployment

Docker encapsulates the application, preprocessed data, and dependencies for consistent execution.


⁠Directory Structure
├── assets
│   ├── scaler_updated.pkl
│   ├── synthetic_teachers_dataset.csv
│   ├── features_updated.pkl
│   └── teacher_vectors_updated.npy
├── Teachers_Recommendation_Updated.ipynb
├── streamlit.py
└── README.md
  • assets/ contains the dataset, feature encodings, and scaler files.
  • Teachers_Recommendation_Updated.ipynb prepares the data for recommendation.
  • streamlit.py serves the interactive web interface.

⁠How to Run

First, pull the Docker image:

docker pull keneandita/recommendation_system

Run the container while exposing the Streamlit port:

docker run -p 8501:8501 keneandita/recommendation_system

After the container starts, open the app in a browser:

http://localhost:8501
  • Users can explore teacher recommendations in real time using the provided filters.
  • To preprocess or update teacher data, run Teachers_Recommendation_Updated.ipynb to regenerate vectors and scaler files.

The system allows educational institutions to match teachers to courses efficiently and dynamically, leveraging AI-driven recommendations.

Tag summary

Content type

Image

Digest

sha256:c1e9df051…

Size

247.7 MB

Last updated

about 1 year ago

docker pull keneandita/recommendation_system