JAMB Score Prediction Using Machine Learning
This project is Team D-nerd's submission for DataFest'24 Datathon 3.0. It is a machine learning-based web app that predicts students' JAMB scores based on their grades in various subjects. The model is built using a Random Forest classifier and deployed through Streamlit for easy interaction.
The project includes a pre-trained .pkl
model which takes the student's grades in core subjects and predicts their JAMB score. It is designed to provide insights into the possible outcomes for students preparing for JAMB exams.
- Grade Input: Users can input grades for subjects such as Mathematics, English, Biology, Physics, etc.
- JAMB Score Prediction: Predicts JAMB scores based on the input grades.
- Download Predictions: Users can download the prediction results as a CSV file.
- Simple Interface: User-friendly web interface built with Streamlit.
- Python 3.x
joblib
,pandas
,scikit-learn
, andstreamlit
-
Clone the repository:
git clone https://github.com/your-username/your-repository-name.git cd your-repository-name
-
Install the required Python libraries:
pip install -r requirements.txt
-
Run the app:
streamlit run app.py
-
Open the Streamlit app by running the command in your terminal:
streamlit run app.py
-
The web app interface will open in your default browser.
-
Input the student's grades for each subject and select the department (Arts, Science, or Commercial).
-
Click Predict JAMB Score to generate the score.
-
You can also download the prediction as a CSV file.
-
Model Used: Random Forest Classifier
-
Training Data: The model was trained on historical student grades and JAMB scores.
-
Input Features: The model takes grades for the following subjects:
- Biology, Chemistry, Civic Education, Commerce, Economics, English, Further Mathematics, Government, Geography, Literature in English, Mathematics, Physics.
These grades are mapped from the Nigerian grading system (A1, B2, etc.) to numerical values.
-
Output: Predicted JAMB score.
You can access the live demo of the app here:
JAMB Score Prediction App
Feel free to contribute to this project by opening issues or submitting pull requests. For major changes, please open an issue to discuss what you would like to change.
To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Commit your changes (
git commit -am 'Add new feature'
). - Push the branch (
git push origin feature/your-feature-name
). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries or feedback, please contact:
- Bashirudeen Opeyemi: [email protected]