Capstone project submission for the IBM AI Enterprise Workflow course on Coursera.
Start application.
python run_app.py
Test application.
python run_tests.py
Predict future revenue (default is total revenue for next 30 days; add country
parameter to get revenue for specific country).
curl --request POST 'http://127.0.0.1/predict?date=2018-11-20'
Build image.
docker build -t app .
Run image.
docker run \
-it \
--rm \
-p 3000:80 \
--name app \
app
POST /predict?date={date}&duration={duration}&country={country}
POST /logs?type={type}
- Are there unit tests for the API?
Yes, seetests/app_test.py
. - Are there unit tests for the model?
Yes, seetests/model_test.py
. - Are there unit tests for the logging?
Yes, seetests/log_test.py
. - Can all of the unit tests be run with a single script and do all of the unit tests pass?
Yes, runpython run_tests.py
. - Is there a mechanism to monitor performance?
Yes, seesrc/monitor.py
which contains a function to compute the Wasserstein distance metric. - Was there an attempt to isolate the read/write unit tests from production models and logs?
Yes, seesrc/log.py
. - Does the API work as expected? For example, can you get predictions for a specific country as well as for all countries combined?
Yes, usecurl --request POST 'http://127.0.0.1/predict?date=2018-11-20'
orcurl --request POST 'http://127.0.0.1/predict?date=2018-11-20&country=Australia'
- Does the data ingestion exists as a function or script to facilitate automation?
Yes, seesrc/ingest.py
. - Were multiple models compared?
Yes, an ARIMA and SARIMA model were compared. Model comparisons are innb/results.ipynb
. - Did the EDA investigation use visualizations?
Yes, seenb/analysis.ipynb
which includes time-series, seasonal-trend decomposition, auto-correlation and partial auto-correlation plots. - Is everything containerized within a working Docker image?
Yes, seeDockerfile
. - Did they use a visualization to compare their model to the baseline model?
Yes, seenb/results.ipynb
where the ARIMA and SARIMA model results are compared to the actual revenue.