Skip to content

Build and evaluate the core machine learning components for a career recommendation system that maps user attributes to career options with confidence scores. Focus on model development, evaluation, and deployment without full web scraping integration. **Dataset Provided**:

Notifications You must be signed in to change notification settings

pushkarkumarvats/assig-ai-tut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Career Recommendation Engine - AI/ML Components

A comprehensive machine learning system for personalized career recommendations based on user skills, interests, and personality traits.

🎯 Project Overview

This project implements a multi-label classification system that predicts suitable careers with confidence scores, featuring:

  • Advanced feature engineering with skill clustering
  • Multi-label classification with Random Forest and XGBoost
  • Intelligent confidence scoring with validation framework
  • Production-ready FastAPI deployment

📁 Project Structure

assig-ai-tut/
├── data/
│   └── synthetic_user_profiles_large.csv
├── notebooks/
│   ├── 01_data_engineering.ipynb
│   └── 02_model_development.ipynb
├── src/
│   ├── preprocessing.py
│   ├── feature_engineering.py
│   ├── model_trainer.py
│   ├── confidence_scorer.py
│   └── api.py
├── models/
│   └── career_recommender_v1.pkl
├── tests/
│   └── test_api.py
├── requirements.txt
└── README.md

🚀 Quick Start

Installation

pip install -r requirements.txt

Run Data Preprocessing & Model Training

jupyter notebook notebooks/01_data_engineering.ipynb
jupyter notebook notebooks/02_model_development.ipynb

Start API Server

uvicorn src.api:app --reload --port 8000

Access API Documentation

Run Tests

pytest tests/ -v

📊 Model Performance

  • Hamming Loss: < 0.15
  • Precision@3: > 0.80
  • Label Ranking Average Precision: > 0.85

🔧 API Usage

import requests

response = requests.post(
    "http://localhost:8000/predict",
    json={
        "skills": ["Python", "Communication"],
        "interests": ["Technology", "Management"],
        "personality": {
            "analytical": 0.8,
            "creative": 0.4,
            "social": 0.7
        },
        "education": "Bachelor",
        "experience": 3
    }
)

print(response.json())

📈 Key Features

Task 1: Data Engineering

  • Skill clustering (technical/soft skills)
  • Interest profiling
  • Personality trait normalization
  • Class imbalance handling
  • Feature importance analysis

Task 2: Model Development

  • Multi-label classification
  • Hyperparameter optimization
  • Probability calibration
  • Comprehensive evaluation metrics
  • Error analysis

Task 3: Confidence Scoring

  • Hybrid scoring (model + heuristics)
  • Rule-based adjustments
  • Validation framework
  • Quality assurance metrics

Task 4: API Deployment

  • FastAPI implementation
  • Input validation
  • Model versioning
  • Comprehensive testing
  • OpenAPI documentation

👨‍💻 Author

Built as part of AI/ML Practice assignment demonstrating end-to-end ML system development.

About

Build and evaluate the core machine learning components for a career recommendation system that maps user attributes to career options with confidence scores. Focus on model development, evaluation, and deployment without full web scraping integration. **Dataset Provided**:

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published