In this project, we will experiment with a real world dataset of grades with CGPA, and to explore how machine learning algorithms can be used to find the patterns in data.
We have a dataset of 42 features of different courses. In corresponding to these we are required to predict CGPA. We can solve this problem using SUPERVISED LEARNING algorithms.
├── 📁 Deployment_Folder
│ ├── 📁 statics
│ │ ├── 📄 main.css
│ │
│ ├── 📁 templates
│ │ ├── 📄 index.html
│ │ ├── 📄 model_1.html
│ │ ├── 📄 model_2.html
│ │ └── 📄 model_3.html
│ │
│ ├── 📄 Dockerfile
│ │
│ ├── 📄 Procfile
│ │
│ ├── 📄 app.py
│ │
│ ├── 🖼️ GradientBoostingRegressor.pkl
│ ├── 🖼️ linear_regression.pkl
│ ├── 🖼️ RandomForestRegressor.pkl
│ └── 📄 requirements.txt
│ │
├── 🗨️ The_Grades_Dataset.csv
│ │
├── 💣 main_notebook.ipynb
│ │
├── 📄 LICENCS
│ │
└── 📄 README.md
- The UI of the project is built using Flask. HTML and CSS.
- https://cgpa-prediction-3.herokuapp.com/
Move in a woking directory
`cd Deployment_Folder`
Create Virtual Enviroment
`python venv -m my-venv`
Activate Virtual Enviroment
`.\my-venv\Scipts\activate`
Install all Requirements
`pip install requirements.txt`
Run Flask app locally:
`python app.py'
Build the docker image
`docker build -t docker_application_name . '
Run the docker container and test it locally
`docker images'
`docker run --name flask1 -dit -p 5000:5000 docker_application_name'
`docker ps'
Login to heroku container registry
`heroku container:login'
Create an heroku app
`heroku create heroku_app_name'
Build the image and push the image to heroku registry.
`heroku container:push web -a heroku_app_name'
Creating the container on heroku host and hosting it publicly
`heroku container:release web -a heroku_app_name'
To open the app in your default browser
`heroku open -a heroku_app_name'
- Python
- Heroku
- Docker
- Visual Studio Code
- Google Colaboratory
- Microsoft Excel
If you want to learn more about Data Science and Machine Learning of this project. You can read this Blog.
This project is licensed under the MIT License - see the LICENSE
file for details.