This project is a comprehensive Machine Learning application designed to predict student performance based on various demographic and socioeconomic factors. By analyzing data such as gender, race/ethnicity, parental level of education, lunch type, and test preparation courses, the system provides insights into likely exam outcomes.
The application features a user-friendly web interface built with Flask, allowing users to input data and receive instant predictions. The core machine learning pipeline is built using Scikit-Learn, Pandas, and Numpy, ensuring robust data processing and accurate model performance.
- Data Ingestion & Transformation: Automated pipelines for handling data loading and preprocessing (handling missing values, encoding categorical variables, scaling).
- Machine Learning Model: Utilizes ensemble methods (like Random Forest, Gradient Boosting, etc.) to achieve high prediction accuracy.
- Web Interface: A clean, responsive HTML/CSS frontend served by Flask for easy user interaction.
- Modular Codebase: Organized into clear components (Data Ingestion, Transformation, Model Training) for maintainability and scalability.
- Frontend: HTML, CSS
- Backend: Python, Flask
- Machine Learning: Scikit-Learn, Pandas, Numpy, CatBoost, XGBoost
- Deployment: Ready for deployment on cloud platforms (AWS, Azure, Render, etc.)
- Python 3.8+
- Pip
-
Clone the Repository
git clone https://github.com/DEEPAK-317/Student-Performance-Prediction-System.git cd Student-Performance-Prediction-System -
Create a Virtual Environment
python -m venv venv
-
Activate the Virtual Environment
- Windows:
.\venv\Scripts\activate
- macOS/Linux:
source venv/bin/activate
- Windows:
-
Install Dependencies
pip install -r requirements.txt
-
Run the Application
python app.py
-
Access the App Open your browser and navigate to
http://127.0.0.1:5000/.
- Go to the home page.
- Click on "Predict your data" or navigable links to the prediction form.
- Fill in the student details (Gender, Ethnicity, etc.).
- Submit the form to see the predicted math score.
├── artifacts/ # Stores generated models and preprocessors
├── notebook/ # Jupyter notebooks for EDA and model experimentation
├── src/ # Source code for the ML pipeline
│ ├── components/ # Data ingestion, transformation, and model training modules
│ ├── pipeline/ # Prediction and training pipelines
│ ├── utils.py # Utility functions
│ ├── logger.py # Logging configuration
│ └── exception.py # Custom exception handling
├── templates/ # HTML templates for the web app
├── app.py # Main Flask application entry point
├── requirements.txt # Project dependencies
├── setup.py # Package setup script
└── README.md # Project documentation
Contributions are welcome! Please feel free to submit a Pull Request.