A Machine Learning dashboard that predicts student performance using Linear Regression implemented from scratch using Streamlit.
This project analyzes student academic data and predicts the Performance Index based on:
- Hours Studied
- Previous Scores
- Sleep Hours
- Sample Question Papers Practiced
- Extracurricular Activities
The goal of this project was to understand how Linear Regression works mathematically by implementing it manually using NumPy instead of relying on ready-made ML libraries like sklearn.
- Implemented Linear Regression using the Normal Equation
- Used matrix multiplication to calculate model coefficients (theta values)
- Evaluated model performance using R² Score
- Built a custom grading classification system
✔ Student Performance Prediction
✔ Custom Grade Classification
✔ Model Accuracy Display (R² Score)
✔ Interactive Streamlit Dashboard
✔ Animated & Colorful Visualizations
✔ Clean Project Structure (model + UI separation)
- Python
- NumPy
- Pandas
- Matplotlib
- Plotly
- Streamlit
student-performance-analyzer/
│
├── app.py # Streamlit dashboard
├── model.py # Linear Regression model logic
├── data/
│ ├── readme.md # Dataset description
│ └──dataset.csv # Student Performance Dataset
│
├── notebooks/
│ │
│ └── Student_Performance_Analysis.ipynb
│
│
├── requirements.txt
└── README.md
This project helped me:
- Understand Linear Regression mathematically
- Work with NumPy matrix operations
- Convert data analysis notebook into a web application
- Debug and structure a real ML project
- Deploy a working dashboard
- Add Train/Test split
- Add more evaluation metrics (MAE, MSE)
- Deploy the project online
- Improve UI/UX design
Raj Kumar | First Year B.Tech Student | Aspiring AI & ML Student
⭐ If you found this project interesting, feel free to star the repository!