An open API service indexing awesome lists of open source software.

https://github.com/adity-star/students-performance-indicator

Analyses the student perfomance and predicts the math score of the student given various factors
https://github.com/adity-star/students-performance-indicator

algorithms eda flask machine-learning mlflow pipeline python

Last synced: 2 months ago
JSON representation

Analyses the student perfomance and predicts the math score of the student given various factors

Awesome Lists containing this project

README

          

# πŸ“Š Students Performance Indicator

![Screenshot (199)](https://github.com/user-attachments/assets/d976672a-81cd-4f92-8b4b-1b1f4e2b9f70)

## πŸš€ Project Overview
The **Students Performance Indicator** is a data-driven project aimed at analyzing student performance based on various factors such as gender, parental education, lunch type, test preparation course, and scores in mathematics, reading, and writing. By leveraging machine learning models, this project provides predictive insights into student outcomes, helping educators and policymakers improve academic performance.

## 🎯 Key Features
- **Data Cleaning & Preprocessing**: Handling missing values, encoding categorical data, and feature scaling.
- **Exploratory Data Analysis (EDA)**: Understanding correlations and patterns using statistical analysis and visualization.
- **Machine Learning Models**: Implementing regression and classification algorithms to predict student performance.
- **Model Evaluation & Optimization**: Fine-tuning models for better accuracy and interpretability.
- **Deployment**: Deploying the trained model as an API using Flask/Streamlit for real-world applications.

## πŸ—οΈ Tech Stack
- **Programming Language**: Python 🐍
- **Libraries & Frameworks**: Pandas, NumPy, Matplotlib, Seaborn, Scikit-Learn
- **Machine Learning Models**: Linear Regression, Decision Trees, Random Forest, XGBoost
- **Deployment**: Flask / Streamlit (optional)

## πŸ“‚ Project Structure
```bash
πŸ“‚ Students-Performance-Indicator
β”œβ”€β”€ πŸ“ .ebextensions # Elastic Beanstalk configuration
β”œβ”€β”€ πŸ“ .vscode # VS Code workspace settings
β”œβ”€β”€ πŸ“ artifacts # Model artifacts and saved outputs
β”œβ”€β”€ πŸ“ catboost_info # CatBoost model information
β”œβ”€β”€ πŸ“ logs # Logging information
β”œβ”€β”€ πŸ“ mlruns # MLflow tracking experiments
β”œβ”€β”€ πŸ“ notebook # Jupyter notebooks for analysis
β”‚ β”œβ”€β”€ 1.EDA STUDENT PERFORMANCE.ipynb # Exploratory Data Analysis
β”‚ β”œβ”€β”€ 2.MODEL TRAINING.ipynb # Model Training
β”‚ β”œβ”€β”€ mlflow.db # MLflow database for experiment tracking
β”œβ”€β”€ πŸ“ source # Source code for preprocessing and modeling
β”‚ β”œβ”€β”€ components # Core components of the application
| β”‚ β”œβ”€β”€__init__.py
β”‚ β”‚ β”œβ”€β”€ data_ingestion.py
β”‚ β”‚ β”œβ”€β”€data_transformation.py
β”‚ β”‚ β”œβ”€β”€model_trainer.py
β”‚ β”‚
β”‚ β”œβ”€β”€ pipeline # Data processing and ML pipeline scripts
β”‚ β”‚ β”œβ”€β”€__init__.py
β”‚ β”‚ β”œβ”€β”€ predict_pipeline.py
β”‚ β”‚ β”œβ”€β”€train_pipeline.py
β”‚ β”œβ”€β”€ __init__.py # Package initializer
β”‚ β”œβ”€β”€ exception.py # Custom exception handling
β”‚ β”œβ”€β”€ logger.py # Logging utility
β”‚ β”œβ”€β”€ utils.py # Helper functions
β”œβ”€β”€ πŸ“ template # Templates for UI or deployment
β”‚ β”œβ”€β”€home.html
β”‚ β”œβ”€β”€index.htme
β”œβ”€β”€ πŸ“ venv # Virtual environment
β”œβ”€β”€ πŸ“„ .gitignore # Git ignore configuration
β”œβ”€β”€ πŸ“„ README.md # Project documentation
β”œβ”€β”€ πŸ“„ app.py # Main application script
β”œβ”€β”€ πŸ“„ application.py # Alternate application script
β”œβ”€β”€ πŸ“„ requirements.txt # Dependencies list
└── πŸ“„ setup.py # Setup script for installation
```

## πŸ” Exploratory Data Analysis (EDA)
- Distribution of students' scores across different subjects.
- Impact of parental education and lunch type on performance.
- Correlation analysis to identify key influencing factors.

## πŸ€– Machine Learning Models
- **Regression Models**: Predicting students' overall performance.
- **Classification Models**: Classifying students as high, medium, or low performers.
- **Feature Importance Analysis**: Identifying key predictors of success.

## πŸ“ˆ Model Performance
| Model | Accuracy (%) |
|-----------------|-------------|
| Linear Regression | 87.97 |
| Ridge | 88.06
| Random Forest | 85.45 |
| XGBoost | 93.5 |

## πŸš€ Getting Started
### 1️⃣ Clone the Repository
```bash
git clone https://github.com/Adity-star/Students-Performance-indicator.git
cd Students-Performance-indicator
```
### 2️⃣ Install Dependencies
```bash
pip install -r requirements.txt
```
### 3️⃣ Run the Project
```bash
python app.py
```

## 🎯 Future Enhancements
- Integration with a web dashboard for interactive analysis.
- Deployment as an AI-powered recommendation system for educators.
- Expanding dataset with more features for improved accuracy.

## πŸ† Contributing
Contributions are welcome! Feel free to fork the repository, raise issues, and submit pull requests.

## πŸ“ License
This project is licensed under the MIT License.

## 🌟 Connect with Me
[![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue)](https://www.linkedin.com/in/aditya-akuskar-27b43533a/) [![GitHub](https://img.shields.io/badge/GitHub-Follow-black)](https://github.com/Adity-star)

---

⭐ **If you found this project useful, don't forget to star the repository!**