TA / app.py
Omar27cc's picture
Upload 4 files
85f7e05 verified
raw
history blame contribute delete
No virus
1.41 kB
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import numpy as np
import joblib
# Definir la clase InputData usando Pydantic
class InputData(BaseModel):
age: float
sex: float
cp: float
trestbps: float
chol: float
fbs: float
restecg: float
thalach: float
exang: float
oldpeak: float
slope: float
ca: float
thal: float
app = FastAPI()
# Función para cargar el modelo
def load_model():
model = joblib.load("modelo_heartdisease.pkl")
return model
model = load_model()
@app.get("/")
async def root():
return {"message": "API funcionando. Usa /predict/ para hacer predicciones."}
@app.post("/predict/")
async def predict(data: InputData):
try:
input_data = np.array([
data.age,
data.sex,
data.cp,
data.trestbps,
data.chol,
data.fbs,
data.restecg,
data.thalach,
data.exang,
data.oldpeak,
data.slope,
data.ca,
data.thal
]).reshape(1, -1)
prediction = model.predict(input_data)
prediction_label = "Presencia de enfermedad cardíaca" if prediction[0] == 1 else "Ausencia de enfermedad cardíaca"
return {"prediction": prediction_label}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))