|
|
|
import uvicorn |
|
from fastapi import FastAPI |
|
from sepsis import Sepsis |
|
import numpy as np |
|
import pickle |
|
import pandas as pd |
|
|
|
app = FastAPI() |
|
with open('pipeline.pkl', 'rb') as file: |
|
classifier_dict = pickle.load(file) |
|
|
|
|
|
classifier = classifier_dict['model'] |
|
|
|
|
|
|
|
@app.get('/') |
|
def index(): |
|
return {'message': 'Sepsis Prediction App'} |
|
|
|
|
|
|
|
@app.get('/{name}') |
|
def get_name(name: str): |
|
return {'Welcome the Sepssis prediction model': f'{name}'} |
|
|
|
|
|
|
|
@app.post('/predict') |
|
def predict_sepssis(data:Sepsis): |
|
data = data.dict() |
|
Plasmaglucose=data['Plasmaglucose'] |
|
BloodWorkResult1=data['BloodWorkResult1'] |
|
BloodPressure=data['BloodPressure'] |
|
BloodWorkResult2=data['BloodWorkResult2'] |
|
BloodWorkResult3=data['BloodWorkResult3'] |
|
Bodymassindex =data['Bodymassindex'] |
|
BloodWorkResult4=data['BloodWorkResult4'] |
|
Age=data['Age'] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
prediction = classifier.predict([[Plasmaglucose,BloodWorkResult1,BloodPressure,BloodWorkResult2,BloodWorkResult3,Bodymassindex,BloodWorkResult4,Age]]) |
|
if(prediction[0]>0.5): |
|
prediction="Sepssis present" |
|
else: |
|
prediction="Sepssis Absent" |
|
return { |
|
'prediction': prediction |
|
} |
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
uvicorn.run(app, host='127.0.0.1', port=8000) |
|
|
|
|