This project leverages the CatBoost machine learning algorithm for credit risk assessment. It's implemented using JFrog ML and the CatBoost library.
-
Custom CatBoost Class Definition: Customizes the base QwakModel to work with the CatBoost algorithm for credit risk prediction.
-
Model Initialization: Initializes the CatBoost model with user-defined or default hyperparameters. The model is trained on a credit risk dataset and fine-tuned for optimal performance.
-
Credit Risk Prediction via JFrog ML's Predict API: Utilizes JFrog's Predict API for assessing the probability of default based on various features like age, sex, job, housing, etc.
The primary functionality is to predict the probability of default for credit applications. The code is designed for seamless integration with JFrog ML and serves as a practical example for credit risk assessment tasks.
-
Clone the Repository: Clone this GitHub repository to your local machine.
-
Install Dependencies: Make sure you have the required dependencies installed, as specified in the
pyproject.toml
file.poetry -C main install
-
Install and Configure the JFrog Ml SDK: Use your account JFrog ML API Key to set up your SDK locally.
pip install qwak-sdk qwak configure
-
Run the Model Locally: Execute the following command to test the model locally:
poetry run python test_model_locally.py
-
Build on the JFrog ML:
Create a new model on Qwak using the command:
qwak models create "Credit Risk" --project "Sample Project"
Initiate a model build with:
qwak models build --model-id <your-model-id> .
-
Deploy the Model on the JFrog ML with a Real-Time Endpoint:
To deploy your model via the CLI, use the following command:
qwak models deploy realtime --model-id <your-model-id> --build-id <your-build-id>
-
Test the Live Model with a Sample Request:
Install the Qwak Inference SDK:
pip install qwak-inference
Call the Real-Time endpoint using your Model ID from the JFrog ML:
python test_live_mode.py <your-qwak-model-id>
.
├── main # Main directory containing core code
│ ├── __init__.py # An empty file that indicates this directory is a Python package
│ ├── model.py # Defines the Credit Risk Model
│ ├── data.csv # Defines the data to train the Model
│ └── pyproject.toml # Poetry configuration
|
├── test_model_locally.py # Script to test the model locally
├── test_live_model.py # Script to test the live model with a sample REST request
└── README.md # Documentation