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!