import gradio as gr from sklearn.linear_model import LogisticRegression import numpy as np import joblib # Cargar tu modelo entrenado; asegúrate de tener el modelo guardado como 'model_5_features.pkl' # Si no tienes el modelo guardado, deberías entrenarlo y guardarlo con joblib: # joblib.dump(model_5_features, 'model_5_features.pkl') model = joblib.load('titanic.pkl') def predict_survival(sex, age, fare, pclass, sibsp): # Convertir entradas a array 2D (1 fila con n columnas) input_array = np.array([[sex, age, fare, pclass, sibsp]]) prediction = model.predict(input_array) result = 'Sobrevive' if prediction[0] == 1 else 'No sobrevive' return result # Crear la interfaz de Gradio iface = gr.Interface( fn=predict_survival, inputs=[ gr.inputs.Dropdown(choices=["Masculino", "Femenino"], label="Sexo"), gr.inputs.Slider(minimum=0, maximum=100, step=1, default=28, label="Edad"), gr.inputs.Slider(minimum=0, maximum=512, step=1, default=33, label="Tarifa"), gr.inputs.Dropdown(choices=[1, 2, 3], label="Clase del Pasajero"), gr.inputs.Slider(minimum=0, maximum=8, step=1, default=0, label="Hermanos/Cónyuges a bordo") ], outputs=gr.outputs.Textbox(label="Predicción de Supervivencia") ) # Ejecutar la interfaz iface.launch()