Course Recommendation
November 30, 2024
Course-Recommender is an AI-powered course recommendation system built using Python and Streamlit, designed to help users discover online courses tailored to their preferences and learning goals. The system combines multiple recommendation algorithms, including content-based and collaborative filtering, to provide highly relevant course suggestions. The project workflow begins with Exploratory Data Analysis (EDA) to understand the dataset, analyzing course popularity, user enrollments, and merging relevant course attributes for further processing. Next, Feature Engineering is applied, where course titles and descriptions are combined into a unified text field. Natural Language Processing (NLP) techniques, such as tokenization using NLTK and removal of stop words, are used to extract meaningful features. A vocabulary is created using gensim, and Bag of Words representations are generated for each course, which are then used to compute course similarity scores. The content-based recommendation system includes a User Profile Model that predicts how a user might rate new courses based on their preferences and a Course Similarity Model that recommends courses similar to what the user has already liked. User profiles are further analyzed using PCA for dimensionality reduction and K-Means clustering to recommend popular courses within specific user clusters. In addition, a Collaborative Filtering approach is implemented, converting user-item ratings into sparse matrices and applying K-Nearest Neighbors (k-NN) to predict course preferences based on similar users and items. Streamlit provides a user-friendly interface where learners can interact with the system, explore recommended courses, and discover new learning opportunities. This project showcases the integration of AI, NLP, and recommendation algorithms to create a personalized and intelligent educational tool that adapts to user interests and helps learners make informed course choices.