Skip to content

Jnyambok/Student_performance_predictor

Repository files navigation

CI/CD Pipeline for Student Performance Prediction on Microsoft Azure using Github Actions

This Machine Learning project seeks to predict the math scores of students by assessing various dependent factors and has been deployed through:

  • Microsoft Azure Cloud Platform
  • Running Locally through Flask.

Disclaimer : Please note that this error arises because I have deleted the resources on Azure to save on costs

image

Refer to this screenshot for the last successful deployment image

To understand the business case of this project, navigate to the EDA notebook

(back to top)

Built With

My Skills

(back to top)

1. Local Deployment

Clone this repo and open the project via your preferred IDE.

  • Clone this repo :
    https://github.com/Jnyambok/end_to_end_azure_ml_project.git
  • Install Flask through pip:
    pip install flask
  • Then navigate to the "app.py" file in the directory and run:
python app.py
  • Open your preferred browser and run paste :
http://127.0.0.1:5000/predictdata

2. Deployment through Microsoft Azure Cloud Platform

  • Fork this repo and proceed to https://azure.microsoft.com/en-in/free/ to sign up for a free Microsoft Azure account

  • Navigate to the resource page and search for "Web App". This should take you to the navigation page. Your free subscription will be pre-filled. Select "create new" at the resource group level and provide your preferred name. Provide a web app name that will appear on the search bar name.

    image

  • Select python 3.8 as the runtime stack and select the region closest to your physical location

image

  • Navigate to the Deployment section and select enable. You will be prompted to link your GitHub account and your forked repo. A workflow configurations file will be added to your repo which will be used to initiate your CI/CD pipeline. To the bottom, ensure basic authentication is off

image

  • You should get the following success message. On your repo, you will find a .yml file created for you. This file contains all the necessary metadata for configuring a CI/CD pipeline in Azure through GitHub actions

image

  • Navigate to your GitHub repo and go to the Actions tab. Your CI/CD pipeline has been set up for you.

    image

  • Click the link provided on the deployment action and voila:

    image

  • Do not forget to delete your Azure resource after you're done. Cloud resources are not cheap!. Navigate to your resource group on the Azure homepage and delete it.

    image

Future Works and Considerations

  • "Beautify" the home page
  • Deploy through AWS

(back to top)

About

Automated ML Training and Deployment to Azure & GitHub Actions

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages