File size: 1,259 Bytes
8f327e4
 
327ebd8
8f327e4
 
327ebd8
8f327e4
 
327ebd8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8bf2751
327ebd8
 
 
 
 
 
 
 
8f327e4
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import tensorflow as tf
import numpy as np

# Inicializar la aplicaci贸n FastAPI
app = FastAPI()

# Cargar el modelo
model = tf.keras.models.load_model("model.h5")

# Clase para los datos de entrada
class PredictionInput(BaseModel):
    pclass: int
    gender: str  # "male" o "female"
    age: float
    sibsp: int
    parch: int
    fare: float

# Funci贸n de preprocesamiento
def preprocess_input(data: PredictionInput):
    # Convertir g茅nero a un valor num茅rico
    gender = 1 if data.gender.lower() == "female" else 0
    
    # Crear array con los datos procesados
    input_data = np.array([[data.pclass, gender, data.age, data.sibsp, data.parch, data.fare]])
    
    return input_data

# Endpoint de predicci贸n
@app.post("/predict")
async def predict(data: PredictionInput):
    try:
        # Preprocesar los datos de entrada
        input_data = preprocess_input(data)
        
        # Realizar la predicci贸n
        prediction = model.predict(input_data)
        
        # Devolver el resultado en un diccionario
        return {"survived_probability": float(prediction[0][0])}
    except Exception as e:
        raise HTTPException(status_code=500, detail=str(e))