An AI-powered recommendation system that suggests the most suitable internships to students based on their skills, interests, and academic background β built using Collaborative Filtering, Content-Based Filtering, and a Hybrid approach.
Built as part of the Free Online AI & Data Science Internship (Task ID: AI-SS-002) at Data Alcott Systems.
This project recommends internships to students in three ways:
- Collaborative Filtering β recommends internships liked by similar students (based on rating patterns).
- Content-Based Filtering β recommends internships whose required skills closely match a student's own skills, using TF-IDF and cosine similarity.
- Hybrid Recommendation β combines both approaches (60% collaborative, 40% content-based) for more balanced suggestions.
The project also includes an evaluation module that measures recommendation quality using:
- RMSE (Root Mean Squared Error) β how close predicted ratings are to actual ratings
- Precision@K β of the internships recommended, how many were actually relevant
- Recall@K β of the relevant internships, how many were successfully recommended
- Python
- Pandas
- NumPy
- Scikit-learn (TF-IDF, cosine similarity, train/test split)
| File | Description |
|---|---|
collaborative_filtering.py |
Main script β contains all recommendation logic and evaluation metrics |
README.md |
This file |
PROJECT_REPORT.md |
Detailed write-up of approach, results, and limitations |
pip install pandas numpy scikit-learn
python collaborative_filtering.pyπ― Recommendations for Student S001:
π Collaborative Filtering:
- Java Developer (Web) | predicted score: 4.0
- Data Scientist (AI) | predicted score: 3.5
π Content-Based Filtering:
- AI Intern (AI) | similarity: 0.678
- Data Scientist (AI) | similarity: 0.556
- Full Stack Developer (Web) | similarity: 0.098
π Hybrid Recommendation:
- Java Developer (Web) | combined score: 2.4
- Data Scientist (AI) | combined score: 2.322
- AI Intern (AI) | combined score: 0.271
π Evaluation Report (RMSE / Precision / Recall):
- RMSE: 1.0
- Precision@3: 0.167
- Recall@3: 0.333
The dataset used is a small, sample dataset (5 students, 5 internships, 9 ratings) built for demonstration purposes. As a result, evaluation metrics can appear noisy β this reflects a real-world challenge in recommendation systems known as the cold-start problem, which is discussed further in the project report.
Shreyashi Khansali β Data Alcott Systems AI & Data Science Internship