A machine learning-based system that analyzes student performance using PAT (Periodic Assessment Tests), SAT (Summative Assessment Tests), and attendance data to provide personalized educational insights and predictions.
- Features
- Technology Stack
- Project Structure
- Installation
- System Architecture
- Data Structure
- Machine Learning Implementation
- API Reference
- Usage Guide
- Performance Prediction: ML-based prediction of student performance in each subject
- Attendance Analysis: Prediction of future attendance patterns and risk assessment
- Class-wise Analytics: Comprehensive analysis of class performance and trends
- Student-wise Analysis: Detailed individual student performance tracking
- Interactive Visualization: Both graphical and tabular data representation
- Personalized Recommendations: AI-driven recommendations for improvement
- Real-time performance monitoring
- Subject-wise strength/weakness analysis
- Performance trend visualization
- Risk level assessment
- Data-driven educational recommendations
- Comparative analysis across terms
- Python 3.10+
- Flask: Web framework
- scikit-learn: Machine learning implementation
- pandas: Data processing
- numpy: Numerical computations
- JavaScript: Interactive UI components
- Chart.js: Data visualization
- HTML5/CSS3: Modern responsive design
- CSV-based data storage (can be extended to SQL databases)
app.py # Main Flask application
data/ # Data directory
├── detailed_student_data.csv # Primary dataset
├── sample_student_data.csv # Sample data for testing
└── student_data.csv # Training data
models/ # Core logic
├── analyzer.py # Data analysis implementation
└── predictor.py # ML model implementation
static/ # Frontend assets
├── css/
│ └── style.css # Application styling
└── js/
├── dashboard.js # Dashboard functionality
└── main.js # Core frontend logic
templates/ # HTML templates
├── dashboard.html # Main dashboard view
└── index.html # Landing page
- Create a virtual environment:
python -m venv venv
.\venv\Scripts\Activate.ps1- Install dependencies:
pip install -r requirements.txt- Run the application:
python app.pyMain class responsible for data analysis and insights generation.
Key Methods:
- load_data(): Loads and preprocesses student data
- get_class_list(): Retrieves available classes
- predict_final_marks(student_id): Generates ML-based performance predictions
- predict_future_attendance(student_id): Predicts attendance patterns
- get_student_performance(student_id): Retrieves comprehensive student data
- get_class_insights(class_id): Generates class-level analytics
- identify_weak_subjects(student_id): Analyzes subject-wise performance
- get_recommendations(student_id): Generates personalized recommendations
Handles machine learning model training and predictions.
Key Methods:
- train(): Trains ML models for each subject
- predict(): Generates predictions using trained models
- get_recommendations(): Provides ML-based recommendations
- _calculate_confidence(): Determines prediction confidence levels
- _determine_trend(): Analyzes performance trends
- _get_contributing_factors(): Identifies key performance factors
- Data Loading → Preprocessing → Model Training
- User Request → Data Analysis → ML Prediction → Result Generation
- Frontend Display → Interactive Visualization → User Interaction
student_id,student_name,class,pat_subject_t1,sat_subject_t1,pat_subject_t2,sat_subject_t2,attendance_percentage- PAT Scores: Periodic Assessment Test scores (Term 1 & 2)
- SAT Scores: Summative Assessment Test scores (Term 1 & 2)
- Attendance: Student attendance percentage
- Subject Data: Individual scores for English, Math, Science, Social, Computer
- Algorithm: Random Forest Regressor
- Features: Previous test scores, attendance patterns
- Target: Performance prediction per subject
- Validation: Cross-validation with confidence scoring
-
Data Preparation:
- Feature scaling using StandardScaler
- Historical performance analysis
- Attendance pattern evaluation
-
Model Training:
- Subject-wise model training
- Feature importance calculation
- Confidence score computation
-
Prediction Generation:
- Performance prediction
- Trend analysis
- Contributing factor identification
- Based on prediction variance across trees
- Considers historical data consistency
- Adjusts for attendance patterns
Returns complete student analysis including:
- Basic information
- Subject-wise performance
- Predictions
- Recommendations
Returns class-level insights including:
- Performance distribution
- Subject-wise analytics
- Areas of concern
Handles data upload and processing
-
Class Selection:
- Choose class from dropdown
- View class-level insights
- Access performance distribution
-
Student Analysis:
- Select student from filtered list
- Toggle between graph/table views
- View detailed performance data
-
Performance Tracking:
- Monitor subject-wise progress
- View prediction confidence
- Access contributing factors
-
Performance Predictions:
- Score predictions with confidence levels
- Trend indicators (Improving/Declining/Stable)
- Contributing factors analysis
-
Attendance Analysis:
- Risk level assessment
- Correlation with performance
- Future attendance predictions
-
Recommendations:
- Subject-specific suggestions
- Priority areas for improvement
- Attendance-related guidance