Online Course Recommender System
Streamlit Recommender System implemented in Python and Streamlit
The study aimed to compare different recommendation system models and analyze their effectiveness. To illustrate these differences, we developed a Streamlit application that showcases how various recommendation methods generate distinct sets of course recommendations.
The Streamlit demonstrator allows users to explore the diversity of course recommendations by examining the distribution of genres in the results. Additionally, for each recommendation model, hyperparameters can be adjusted to observe their impact on the generated recommendations. This interactive approach provides insights into how different algorithms behave under various configurations.

Videos
Course Recommender System - Setup
Content Based Recommendation
Collaborative Filtering Based Recommendation
Screenshots
Manage Your Learning Portfolio
Courses can be selected and added to the user's portfolio as enrolled courses. The user profile on the left is updated accordingly, reflecting the new genre distribution as courses are added. This allows for dynamic adjustment of recommendations based on the updated profile.

Content-Based Recommendations - User Profile
This approach suggests courses that are aligned with the user's interests and previous enrollments. After setting the hyperparameters, the model is trained and recommendations are calculated based on the user's profile. The result is shown as a list of courses and the distribution of genres within the recommended courses.

Content-Based Recommendations - Item Similarity
This method recommends courses based on their similarity to the ones the user has already enrolled in. The model calculates similarities between course content and suggests items that closely match. This method is ideal for users looking to explore courses similar to those they've already completed or enjoyed.

Content-Based Recommendations - Clustering
Clustering groups courses into clusters based on similar characteristics, and recommendations are drawn from these clusters. Users are recommended courses from the cluster that most closely matches their interests. This method helps uncover new courses that are related but may not be immediately obvious through direct similarity.

Collaborative Filtering Based Recommendations - KNN/SlopeOne/SVD++
Collaborative filtering methods use data from similar users to recommend courses. Techniques like KNN, SlopeOne, and SVD++ compare the user's preferences with others and suggest courses that similar users have enjoyed. These methods are highly effective in finding recommendations that aren't directly linked to the user's profile or history.

Collaborative Filtering Based Recommendations - Neural Networks
Neural network-based collaborative filtering utilizes deep learning to model complex user-item interactions. This method learns patterns from large datasets of user behaviors to provide personalized recommendations. The model adapts to subtle patterns in user preferences, offering highly tailored course suggestions.

Analytics
The distribution of genres can be compared here, allowing users to see the variety of courses recommended by different methods. This page provides insights into the effectiveness and diversity of the recommendations across the various models used in the system.
