ITaS_Project
🎓 Student Performance Analyzer
Description
AI-powered system for predicting student academic performance based on behavioral and academic metrics. The system classifies students into performance categories and provides insights for targeted interventions.
Features
- Predictive Modeling: Uses machine learning to forecast student grades
- Feature Engineering: Extracts meaningful patterns from student data
- Automated Retraining: CI/CD pipeline for model updates
- Comprehensive Testing: Full test coverage and code quality checks
- Production Ready: Clean architecture with separation of concerns
Installation
Prerequisites
- Python 3.8+
- pip or conda
Setup
Quick Start
Project Structure
.
├── src/ # Source code
│ ├── classifier.py # Main prediction interface
│ ├── features.py # Feature extraction logic
│ └── model.py # Model training pipeline
├── tests/ # Unit tests
│ ├── init.py
│ ├── test_features.py
│ └── test_classifier.py
├── data/ # Sample dataset
│ └── sample_questions.csv
├── docs/ # Documentation (optional)
├── scripts/ # Utility scripts (optional)
├── .gitverse/workflows/ # CI/CD pipelines
│ ├── tests.yml # Runs tests on every push
│ └── retrain.yml # # Retrains model and uploads metrics (CI/CD)
├── requirements.txt # Python dependencies
├── setup.cfg # Code quality configuration
└── .gitignore
Usage Examples
- Training a New Model
- Feature Engineering
- Batch Prediction
CI/CD Automation
Automated Testing
Runs on every push and pull request
Tests Python 3.8-3.11 compatibility
Code quality checks (flake8, black)
Test coverage reporting
Smart Retraining Pipeline
Weekly retraining: Automatically retrains model every Sunday
Model comparison: Checks if new model outperforms previous
Artifact storage: Saves models and metrics
Auto-PR creation: Creates PR when model improves
Reporting: Generates performance reports as GitHub Issues
Testing
Model Performance
Typical performance metrics on the sample dataset:
Accuracy: 85-92%
F1 Score: 0.84-0.90
Feature Importance: Attendance, Assignment Scores, Study Hours
Contributing
Fork the repository
Create a feature branch
Add tests for new functionality
Ensure all tests pass
Submit a pull request
License
MIT License - see LICENSE file for details
Contact
For questions or support, please open an issue in the repository.