A Machine Learning project that predicts student academic performance based on demographic, academic, and lifestyle factors. The project includes data preprocessing, feature engineering, model training, evaluation, visualization, and an interactive Streamlit web application for real-time predictions.
- Data preprocessing and cleaning
- Feature engineering
- Exploratory Data Analysis (EDA)
- Data visualization
- Multiple machine learning models
- Model evaluation using standard metrics
- Real-time student performance prediction
- Interactive Streamlit dashboard
- Modular and production-ready project structure
Student-Performance-Prediction/
β
βββ app/
β βββ streamlit_app.py
β
βββ data/
β βββ raw/
β β βββ student_performance.csv
β βββ processed/
β
βββ models/
β
βββ notebooks/
β
βββ reports/
β βββ figures/
β
βββ src/
β βββ preprocessing.py
β βββ feature_engineering.py
β βββ train_model.py
β βββ evaluate_model.py
β βββ predict.py
β βββ visualization.py
β βββ utils.py
β
βββ requirements.txt
βββ .gitignore
βββ README.md
- Python
- Pandas
- NumPy
- Scikit-learn
- Matplotlib
- Seaborn
- Joblib
- Streamlit
- Collect student performance dataset.
- Clean and preprocess the data.
- Perform feature engineering.
- Train machine learning models.
- Evaluate model performance.
- Save the best model.
- Launch the Streamlit application.
- Predict student performance from user input.
git clone https://github.com/erchandrain-ui/Student-Performance-Prediction.git
cd Student-Performance-PredictionWindows
python -m venv venv
venv\Scripts\activateLinux / macOS
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtpython src/train_model.pypython src/evaluate_model.pystreamlit run app/streamlit_app.py- Data Loading
- Data Cleaning
- Feature Encoding
- Feature Scaling
- Train-Test Split
- Model Training
- Model Evaluation
- Prediction
- Visualization
- Accuracy
- Precision
- Recall
- F1 Score
- Confusion Matrix
- Classification Report
The Streamlit dashboard allows users to:
- Enter student information
- Predict academic performance
- View prediction results
- Explore dataset insights
- Visualize important features
- Python 3.10+
- Streamlit
- Scikit-learn
- Pandas
- NumPy
- Matplotlib
- Seaborn
- Joblib
Install using:
pip install -r requirements.txtContributions are welcome.
- Fork the repository
- Create a new branch
- Commit your changes
- Push the branch
- Open a Pull Request
This project is released under the MIT License.
Chand Rain
B.Tech CSE Student
Machine Learning & Data Science Enthusiast
β If you found this project helpful, consider giving it a Star on GitHub.