Spaces:
Runtime error
Runtime error
| from fastapi.responses import RedirectResponse | |
| from fastapi import FastAPI, Request, HTTPException, APIRouter, Depends | |
| from fastapi.openapi.docs import get_swagger_ui_html | |
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| import joblib | |
| import pandas as pd | |
| import numpy as np | |
| from sklearn.preprocessing import StandardScaler | |
| from sklearn.impute import SimpleImputer | |
| from sklearn.compose import ColumnTransformer | |
| from sklearn.pipeline import Pipeline | |
| from sklearn.linear_model import LogisticRegression | |
| app = FastAPI() | |
| # Load the entire pipeline | |
| pipeline_filepath = "pipeline.joblib" | |
| pipeline = joblib.load(pipeline_filepath) | |
| class PatientData(BaseModel): | |
| Plasma_glucose : float | |
| Blood_Work_Result_1: float | |
| Blood_Pressure : float | |
| Blood_Work_Result_2 : float | |
| Blood_Work_Result_3 : float | |
| Body_mass_index : float | |
| Blood_Work_Result_4: float | |
| Age: float | |
| Insurance: int | |
| async def root(): | |
| return RedirectResponse(url="/docs") | |
| #swagger ui | |
| async def get_swagger_ui_html(): | |
| return get_swagger_ui_html(openapi_url="/openapi.json", title="API docs") | |
| def get_data_from_user(data: PatientData): | |
| user_input = data.dict() | |
| input_df = pd.DataFrame([user_input]) | |
| # Make predictions using the loaded pipeline | |
| prediction = pipeline.predict(input_df) | |
| probabilities = pipeline.predict_proba(input_df) | |
| probability_of_positive_class = probabilities[0][1] | |
| # Calculate the prediction | |
| sepsis_status = "Positive" if prediction[0] == 1 else "Negative" | |
| sepsis_explanation = "A positive prediction suggests that the patient might be exhibiting sepsis symptoms and requires immediate medical attention." if prediction[0] == 1 else "A negative prediction suggests that the patient is not currently exhibiting sepsis symptoms." | |
| result = { | |
| 'predicted_sepsis': sepsis_status, | |
| 'probability': probability_of_positive_class, | |
| 'sepsis_explanation': sepsis_explanation | |
| } | |
| return result | |