diabetes / app.py
RaulHuaroteZegarra's picture
Update app.py
29c6739 verified
raw
history blame contribute delete
No virus
1.17 kB
from sklearn import tree
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import numpy as np
from typing import List
#import pickle
class InputData(BaseModel):
data: List[float] # Lista de caracter铆sticas num茅ricas (flotantes)
app = FastAPI()
# Funci贸n para construir el modelo manualmente
def build_model():
from pickle import load
with open("clf_train.pkl", "rb") as f:
miarbol = load(f)
#with open("clf_train.pkl", "rb") as tf:
# miarbol = pickle.load(tf)
return miarbol
model = build_model() # Construir el modelo al iniciar la aplicaci贸n
# Ruta de predicci贸n
@app.post("/predict/")
async def predict(data: InputData):
print(f"Data: {data}")
global model
try:
# Convertir la lista de entrada a un array de NumPy para la predicci贸n
input_data = np.array(data.data).reshape(
1, -1
) # Asumiendo que la entrada debe ser de forma (1, num_features)
prediction = model.predict(input_data).round()
return {"prediction": prediction.tolist()}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))