All of the prerequisites from the README file.
The objective of this challenge is to forecast the daily transactions using time series ARIMA modeling. It includes processing the transactions data from AdventureWorks database, analyzing it, creating and registering an ARIMA model, and finally deploying the model to an ACI instance. This entire lifecycle is done using Azure ML Python SDK.
Time series is a series of data points collected or indexed in time order at regular time points. It is a sequence taken at successive equally spaced time points. For example, weather data collected every hour or stock data collected every day or sensor data collected every minute. As a result, we see a trend and seasonality in time-series datasets. It is this temporal nature that makes them different from other conventional datasets and warrants a different type of modeling. We will cover that in this challenge as forecasting is one of the most common and prevalent tasks in Machine Learning.
-
Create and setup a new project in Azure DevOps
-
Import quickstart code from "https://github.com/microsoft-us-ocp-ai/MLOps"
-
Create new service connections in Project Settings for your Azure ML service and Azure Subscription using service principal
-
-
Install library requirements to setup your environment:
pip install -r ./environment_setup/requirements.txt -
Configure your Azure ML Workspace for the project.
- Hint: Add workspace details through Azure DevOps pipeline variables.
- Hint: Add workspace details in config.json. You can download it from portal too.
-
Now that you have environment setup, explore the python files in the following order to train an ARIMA forecasting model
-
Workspace.py to setup connection with your Azure ML service workspace.
-
AcquireData.py to get daily transactions data from AdventureWorks.
-
TrainOnLocal.py to train the model. Explore and run transactions_arima.py file to understand how ARIMA model was built.
-
EvaluateModel.py to evaluate the model.
-
RegisterModel.py to register the model with Model registry.
-
ScoreModel.py for scoring/forecasting using the trained model.
-
deployOnAci.py to deploy the scoring image on ACI.
-
WebserviceTest.py to the ACI deployment/endpoint.
-
- Forecasting project imported into Azure DevOps.