Deployment of a machine learning model trained on Kaggle's Titanic dataset as a Flask app hosted on Heroku.
Dataset: https://www.kaggle.com/c/titanic
- Clone the repository
git clone https://github.com/henrylao/kaggle-titanic.git
- Create the virtual environment in project root directory
Windows:
python -m venv c:\path\to\myenv
MacOS/Linux:
python -m venv path/to/project/myenv
- Activate the virtual environment
Windows:
path\to\project\myenv\Scripts\activate
MacOS/Linux
source path/to/project/myvenv/activate
- Install package dependencies
Run one of the following:
pip install -r requirements.txt
pip3 install -r requirements.txt
- Ensure installation of dependencies from the installation section and activation of the virtual environment.
- Navigate to the server directory.
cd path/to/project/kaggle-titanic/
- Run the server driver app.py
Windows/Linux
python app.py
MacOS
python3 app.py
Model API + Data Pipelining:
- loading data / existing model binaries
- preprocess data
REST API:
- Complete creation of REST API endpoint for LGBM model
- Create POST method for handling a request
- Create a method of configuring the model to be loaded (Ex. dzone, oos, etc)
- Complete migration of model application to be deployed using Docker
- Complete method for persisting configurations of models deployed
- Completed refactoring of codebase for OOP
- Complete testing for operating systems:
- Windows 10
- Linux
- MacOS
- Refactor server.driver.py to be a controller stored in the server.controller package
Website
- Support for displaying different singular models
- Comparison of pycaret models vs self-configured
- Add footer routing to internet accounts + contact info
Documentation
- Model and data used
- Website design docs
Stretch
- Add