Spaces:
Sleeping
Sleeping
from fastapi import FastAPI | |
from pydantic import BaseModel | |
import joblib | |
import pandas as pd | |
# Create a FastAPI instance | |
app = FastAPI() | |
# Load the entire pipeline | |
sep_pipeline = joblib.load('./RandomForestClassifier_pipeline.joblib') | |
encoder = joblib.load('./encoder.joblib') | |
# Define a FastAPI instance ML model input schema | |
class PredictionInput(BaseModel): | |
PRG: int | |
PL: int | |
PR: int | |
SK: int | |
TS: int | |
M11: float | |
BD2: float | |
Age: int | |
Insurance: int | |
# Defining the root endpoint for the API | |
def index(): | |
explanation = { | |
'message': "Welcome to the Sepsis Prediction App", | |
'description': "This API allows you to predict sepsis based on patient data.", | |
} | |
return explanation | |
def predict(PredictionInput: PredictionInput): | |
df = pd.DataFrame([PredictionInput.model_dump()]) | |
# Make predictions using the pipeline | |
prediction = sep_pipeline.predict(df) | |
encode = encoder.inverse_transform([prediction])[0] | |
# Return the prediction | |
return {'prediction': encode } |