---
title: ML API
emoji: 🤖
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
pinned: false
---
## ML API
A FastAPI enpoint serving a fitted sklearn pipeline with an ordinal logistic regression model using the
Mord Python Package to predict customer's "small quantity order importance ranking (1-10)."
#### Pipeline Steps
1. Column Transformer
a. Standard Scaling for numerical variables
b. One-hot-encoding for categorical variables
2. Feature Selection
a. Lasso Regression
3. Model
a. Mord Ordinal Logistic Regression
The fitted pipeline is then serialized with joblib, served with Fast API (Uvicorn), containarized with Docker, and finally deployed to HuggingFace Spaces.
Prediction requests can be sent to https://dkondic-ml-api.hf.space/predict as a list of dictionaries where each dictionary is an instance to predict. Thus, prediction is possible for single instance or batch of instances. Please see ML API Docs for more indormation.
#### Request Body
```
[
{
"CUST_NBR": "string",
"MENU_TYP_DESC": "string",
"PYR_SEG_CD": "string",
"DIV_NBR": "string",
"WKLY_ORDERS": 0,
"PERC_EB": 0,
"AVG_WKLY_SALES": 0,
"AVG_WKLY_CASES": 0
}
]
```
#### Resonse Body
```
{
"prediction": [
0
]
}
```
#### Prediction xample using Python requests
```py
import requests
data = [
{"CUST_NBR":"1111",
"MENU_TYP_DESC":"MEXICAN",
"PYR_SEG_CD":"Education",
"DIV_NBR":"20",
"WKLY_ORDERS": 15,
"PERC_EB":0.80,
"AVG_WKLY_SALES":2656.04,
"AVG_WKLY_CASES":67.00}]
response = requests.post("https://dkondic-ml-api.hf.space/predict", json=data)
print(response.json())
```