aaronayitey's picture
Upload main.py
49d2e92 verified
raw
history blame
1.19 kB
from fastapi import FastAPI, Query, HTTPException
import joblib
from pydantic import BaseModel
import pandas as pd
pipeline = joblib.load('./sepsis_classification_pipeline.joblib')
encoder = joblib.load('./label_encoder.joblib')
model = joblib.load('./random_forest_model.joblib')
app = FastAPI()
class features(BaseModel):
Age: int
Body_Mass_Index_BMI: float
Diastolic_Blood_Pressure: float
Plasma_Glucose: float
Triceps_Skinfold_Thickness: float
Elevated_Glucose: float
Diabetes_Pedigree_Function: float
Insulin_Levels: float
@app.post("/predict")
async def predict_sepsis(item: features):
try:
# Convert input data to DataFrame
input_data = pd.DataFrame([item.dict()])
# input_data = pipeline.named_steps.preprocessor.transform(input_data)
# Make predictions using the model
predictions = pipeline.predict(input_data)
# Decode predictions using the label encoder
decoded_predictions = encoder.inverse_transform(predictions)
return {"prediction": f'Patient is {decoded_predictions[0]}'}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))