import gradio as gr import numpy as np import joblib # Cargar el modelo entrenado model = joblib.load('titanic.pkl') def predict_survival(sex, age, fare, pclass, sibsp): # Convertir entradas a formato numérico y ajustar según el modelo # Asumimos que 'Masculino' = 1, 'Femenino' = 0 sex = 1 if sex == "Masculino" else 0 # Preparar el array con las características en el orden correcto input_features = np.array([[sex, age, fare, pclass, sibsp]]) # Hacer la predicción usando el modelo prediction = model.predict(input_features) # Retornar el resultado en forma legible result = 'Sobrevive' if prediction[0] == 1 else 'No sobrevive' return result # Definir la interfaz de Gradio iface = gr.Interface( fn=predict_survival, inputs=[ gr.components.Dropdown(choices=["Masculino", "Femenino"], label="Sexo"), gr.components.Slider(minimum=0, maximum=100, step=1, value=28, label="Edad"), gr.components.Slider(minimum=0, maximum=512, step=1, value=33, label="Tarifa"), gr.components.Dropdown(choices=[1, 2, 3], label="Clase del Pasajero"), gr.components.Slider(minimum=0, maximum=8, step=1, value=0, label="Hermanos/Cónyuges a bordo") ], outputs=gr.components.Textbox(label="Predicción de Supervivencia") ) # Lanzar la aplicación iface.launch()