A machine learning application that predicts students' mathematics performance based on various demographic and academic factors. Built with Python, Flask, and scikit-learn.
- Predicts mathematics scores using ML model
- Web interface for easy data input
- RESTful API endpoints
- Detailed error handling
- Input validation
- Comprehensive logging
- Python (ML & Backend)
- Flask (Web Framework)
- scikit-learn (ML Library)
- Pandas (Data Processing)
- NumPy (Numerical Operations)
- HTML/CSS (Frontend)
- Clone the repository:
git clone https://github.com/yourusername/student-performance-pred.git
cd student-performance-pred- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- Install dependencies:
pip install -r requirements.txt- Run the application:
python application.pyVisit http://localhost:5000 in your browser.
βββ .ebextensions/
βββ artifacts/
βββ catboost_info/
βββ data/
βββ logs/
βββ mlproject.egg-info/
βββ notebooks/
βββ src/
β βββ components/
β β βββ data_ingestion.py
β β βββ data_transformation.py
β β βββ model_trainer.py
β βββ pipeline/
β β βββ predict_pipeline.py
β β βββ train_pipeline.py
β βββ templates/
β β βββ home.html
β β βββ index.html
β βββ exception.py
β βββ logger.py
β βββ utils.py
βββ venv/
βββ .gitignore
βββ application.py
βββ README.md
βββ requirements.txt
βββ setup.py
- Start the application
- Navigate to
http://localhost:5000 - Fill in student information:
- Gender
- Race/Ethnicity
- Parental Education
- Lunch Type
- Test Preparation
- Reading Score
- Writing Score
- Click "Predict" to get the mathematics score prediction
POST /predictdata
Content-Type: application/json
{
"gender": "male",
"race_ethnicity": "group A",
"parental_level_of_education": "bachelor's degree",
"lunch": "standard",
"test_preparation_course": "completed",
"reading_score": 70,
"writing_score": 75
}python -m pytest tests/- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Aadil Rahman
- Email: aadil.rahman164@gmail.com
- GitHub: @aadr22
For questions and feedback, please contact: aadil.rahman164@gmail.com
βοΈ If you found this project helpful, please give it a star!