Skip to content

Feenaz12/Learning_Recommendation_System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Learning Recommendation System

Python Streamlit

Recommending the right courses to students helps them improve skills, explore new areas, and achieve their career goals. This project analyzes student profiles and course data to provide personalized course recommendations using machine learning techniques and a Streamlit interactive interface.


🚀 Features

  • Preprocess student and course data using TF-IDF vectorization
  • Recommend top N courses based on student profile (skills + interests)
  • Save and load pretrained models & matrices for fast recommendations
  • Display student info alongside recommended courses
  • Interactive UI with Streamlit: sliders, dropdowns, progress bars

📊 Dataset

Two datasets are used:

Dataset Description
students.csv Student details: ID, name, background, skills, interests
courses.csv Course details: ID, name, category, difficulty, skills required

Tip: Sample datasets for ~1000 students and ~50 courses are provided. Replace with your own datasets for larger experiments.


⚡ Preprocessing

  • Profile Text: Combine student skills + interests into a single text field
  • Vectorization: TF-IDF vectorization for student profiles and course descriptions
  • Similarity Computation: Cosine similarity between student profiles and courses
  • Saved Models: Vectorizers and matrices stored as .pkl files for reuse

🛠 Recommendation Logic

  • Compute cosine similarity between a student vector and all course vectors
  • Sort and select top N courses for recommendation
  • Display student details (name, background, skills, interests) along with recommended courses

🔧 Tech Stack

  • Python – Core programming language
  • Pandas & NumPy – Data manipulation and analysis
  • Scikit-learn – TF-IDF vectorization, cosine similarity, and ML utilities
  • Joblib – Save/load models and matrices
  • Streamlit – Interactive web interface

💻 How to Run

  1. Clone the repository:
git clone https://github.com/username/Learning-Recommendation-System.git
cd Learning-Recommendation-System
  1. Install dependencies:

    pip install -r requirements.txt

  2. Run the Streamlit app:

    streamlit run app.py

The app will open in your default browser. Select a student ID and choose the number of recommendations using the slider to see personalized courses.


📂 Project Structure

LRS_Project/
├── notebook/
│   └── LRS_Notebook.ipynb        # Training, preprocessing, and testing
├── models/
│   ├── vectorizer.pkl
│   └── course_matrix.pkl
├── students.csv
├── courses.csv
├── app.py                        # Streamlit interactive app
└── requirements.txt              # Python dependencies

🎨 Optional Enhancements

  • Add a logo/banner to app.py for better UI
  • Color-code course difficulty (Beginner: green, Intermediate: orange, Advanced: red)
  • Show similarity scores as progress bars for more visual appeal
  • Add download button to export recommended courses as CSV

📌 Notes

  • Ensure paths in app.py are relative so Streamlit works locally and on GitHub/Streamlit Cloud.
  • Replace sample datasets with your own for larger experiments.
  • Streamlit interactive features (sliders, buttons, progress bars) require running via streamlit run app.py.

🔗 References

About

“Machine learning-based recommendation engine that personalizes course and career suggestions for students using TF-IDF and skill-based profiling.”

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages