This comprehensive student performance prediction system is a multifaceted machine learning project designed to help educational institutions proactively identify at-risk students and improve academic outcomes. The system includes three specialized prediction models that address different aspects of student performance:
- Final Exam Mark Predictor: Predicts a student's final examination marks based on attendance, coursework, and internal assessments
- Dropout & Academic Success Predictor: Identifies students at risk of dropping out with high accuracy (97%)
- Exam Performance Pass/Fail Predictor: Forecasts whether a student will pass or fail upcoming exams
Note: This project began as a university assignment but has evolved into a personal ongoing project. It is currently under active development with regular improvements and bug fixes.
- Type: Random Forest Regressor
- Features:
- Attendance records (present/absent counts)
- Lecture test marks
- Lab test marks
- Mid-semester evaluation marks
- Pre-GTU marks
- Internal assessment marks
- Performance:
- Low Mean Absolute Error (MAE)
- Low Root Mean Squared Error (RMSE)
- Feature importance visualization
- SHAP explainability for transparent predictions
- Type: Random Forest Classifier with hyperparameter tuning via RandomizedSearchCV
- Features:
- Demographic information
- Previous academic performance
- Engagement metrics
- Socioeconomic indicators
- Performance:
- Accuracy: 97%
- Comprehensive classification report
- Confusion matrix visualization
- ROC curve analysis
- Cross-validation for robust evaluation
- Type: Logistic Regression with Pipeline (StandardScaler + Normalizer)
- Features:
- Study hours
- Previous exam scores
- Performance:
- Accuracy: 88%
- SMOTE handling for class imbalance
- Cross-validation scoring
- Intuitive prediction visualization
- Interactive Web Interface: Multi-page web application with step-by-step forms
- Multi-step Prediction Forms: User-friendly data collection
- Dark Mode Support: Toggle between light and dark themes
- Explainable AI: SHAP values help interpret prediction factors
- Data Visualization: Comprehensive visual representations of model performance
- Batch Processing: Upload CSV files to process multiple students at once
- Error Handling: Robust error management throughout
- Responsive Design: Works well across different device sizes
- Framework: Flask web server
- Machine Learning: scikit-learn, SHAP for explainability
- Data Processing: pandas, numpy for data manipulation
- Model Persistence: Serialized models via joblib/pickle
- Validation: Cross-validation and testing methodology
- Structure: HTML5 for content structure
- Styling: CSS3 with responsive design
- Interaction: JavaScript for dynamic behavior
- Animation: CSS transitions and animations
- User Experience: Multi-step forms with validation
- Mean Absolute Error: < 5 marks
- Feature importance shows attendance and mid-term scores as key predictors
- High precision in identifying at-risk students
- Low false positive rate to prevent unnecessary interventions
- Feature importance highlights key early warning signs
- 88% accuracy in predicting exam outcomes
- Balanced precision and recall metrics
- Early Intervention: Identify at-risk students before academic failure
- Resource Allocation: Focus additional support on students who need it most
- Student Self-Assessment: Allow students to understand factors affecting their performance
- Academic Planning: Help advisors make data-driven recommendations
- Institutional Planning: Improve overall retention and success rates
(Screenshots coming soon - UI/UX improvements in progress)
This project is currently in active development. While the core functionality works, there are some known issues:
- Some UI elements need refinement for better mobile responsiveness
- Occasional prediction inconsistencies with certain edge case inputs
- CSV batch upload functionality has validation limitations
- Model retraining pipeline needs improvement for new data incorporation
- Some browser compatibility issues in Internet Explorer and older browsers
I am actively working on resolving these issues and implementing new features. Bug reports, feature requests, and contributions are welcome!
- User authentication and student profiles
- Mobile application version
- Additional predictive models for other academic metrics
- Integration with institutional LMS platforms
- Long-term tracking and performance analytics
- Recommendation engine for improvement strategies
- Enhanced data visualization dashboard
- API endpoints for third-party integration
- Multi-language support
- Automated model retraining with new data
- Unit and integration test coverage
project_student_performance/
βββ Project-Predict-Student-dropout-and-academic-success/ # Dropout prediction model
β βββ app.py # Flask application
β βββ Trainingmodel.py # Model training script
β βββ static/ # Frontend assets
β βββ templates/ # HTML templates
βββ Project-Student-Exam-Performance-Prediction/ # Pass/fail prediction
β βββ app4.py # Flask application
β βββ Trainingmodel1.py # Model training script
β βββ static/ # Frontend assets
β βββ templates/ # HTML templates
βββ project-Student-Performace/ # Final exam mark predictor
β βββ app.py # Flask application
β βββ Trainigmodel4.py # Model training script
β βββ static/ # Frontend assets
β βββ templates/ # HTML templates
βββ Project-Run/ # Integrated web application
βββ Frontend-main-Rashed/ # Combined frontend
β βββ Main/ # Main application
β β βββ Run.py # Main application entry point
β β βββ Static/ # Static assets
β β βββ templates/ # HTML templates
β βββ project folders # Individual project components
βββ ...
- Python: Core programming language
- Flask: Web framework
- scikit-learn: Machine learning library
- pandas/numpy: Data manipulation libraries
- SHAP: Model explainability
- Matplotlib/Seaborn: Data visualization
- joblib/pickle: Model serialization
- HTML/CSS/JavaScript: Frontend development
Contributions to this project are welcome and appreciated! If you'd like to contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
I'm more than happy to review and merge valuable contributions. Whether it's bug fixes, feature enhancements, or documentation improvements - all help is welcome!
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions, suggestions, or would like to collaborate, please feel free to reach out.
This project originated as a university assignment and has evolved into a personal ongoing project. I apologize for any bugs or issues you may encounter - the system is continuously being improved. Thank you for your interest and understanding!