- Technologies Used
- Description
- Objectives
- Presentation
- Notebooks Overview
- Using Docker
- Installation
- Usage
- Project Structure
- Collaborators
- License
This project is focused on building an app that estimates the probability of default for each client based on their characteristics. Then create a CI/CD pipeline to deploy it with AWS Elastic Container Service
The main objective of this project is build an image and a pipeline with all the necessary tools to achieve the deployment of a predictive app. The specific steps include:
- Data Preprocessing: Filtering and preparing the dataset for analysis.
- Model Engineering: Test at least two classification algorithms.
- Model Tracking: Tracking the metrics and artifacts of the model with MLflow.
- App Deployment: Create a CI/CD pipeline.
A presentation is available as a PDF file in the repo Loan_Default_Prediction_MLOPS_Presentation.pdf
& also as a Canva/Powerpoint presentation through the following link: Presentation Link.
- ¨Exploratory_Data_Analysis.ipynb:
- This notebook contains the data exploration, analysis & preprocessing.
- ¨Loan_Default_Prediciont_Models.ipynb:
- This notebook contains the models fitting, evaluation and mlflow setup.
To pull the Docker image from Docker Hub, run the following command:
# Pull the docker image
$ docker pull medkallel/loan-default-prediction:latest
If you prefer to build the Docker image locally, navigate to the project directory and run:
# Build the docker image
$ docker build -t loan-default-prediction .
To run the Docker container, use the following command:
# Run the docker container
$ docker run -p 5000:5000 loan-default-prediction
Tip
You can access the app on another device by following the link: http://<server-ip>:8501
Important
The project was done on Python 3.11.6
To run this project locally, follow these steps:
- Clone the repository:
# Clone the repository
$ git clone https://github.com/Medkallel/Loan-Default-Prediction.git
# Navigate into the directory
$ cd Loan-Default-Prediction
- Install the required dependencies:
# Install the requirements
$ pip install -r requirements.txt
- To use the App, Just run the app.py
$ python app.py
📦 mlops-project/
├── 📁.github/
│ └── 📁workflows/
│ └── aws.yaml
├── 📁Data/
│ ├── 🗃️Loan_Data_Describe.csv # Describe data used to denormalize
│ ├── 🗃️Loan_Data.csv # Initial Dataset
│ └── 🗃️Processed_Loan_Data.csv
│
├── 📁Models/
│ └── 🤖model.pkl
│
├── 📁mlartifacts/ # Contains mlflow artifacts for runs
├── 📁mlruns/ # Contains mlflow runs logs
│
├── 📁templates/
│ └── index.html
├── 🐍app.py
├── 📓Exploratory_Data_Analysis.ipynb
├── 📓Loan_Default_Prediction_Models.ipynb
├── 📄requirements.txt
├── 📄.dockerignore
├── 📄.gitignore
├── 📄Dockerfile
├── 📄LICENCE.md
├── 📄README.md
└── 📄Loan_Default_Prediction_MLOPS_Presentation.pdf
This project was developed by a collaborative team. Each member played a crucial role in the research, development, and analysis:
- Mohamed Kallel
- Jean Christophe Rigoni
- Simon Pierre Rodner
This project is under the CC BY-NC 4.0 License. For more information, refer to the license file.