import gradio as gr import pickle as pkl import pandas as pd from SRLib.Utilities import encoding def predict( Fare, Idade, Sex, Pclass, SibSp ): df_raw = pd.DataFrame( { 'Fare' : Fare, 'Age' : Idade, 'Sex' : Sex, 'Pclass' : Pclass, 'SibSp' : SibSp }, index=[0] ) df = encoding.full_pipeline( df_raw ) model = pkl.load( open( 'models/model_ridge.pkl', 'rb' ) ) y_hat = model._predict_proba_lr( df )[0] print(df) resp = {} if y_hat[1] < .55: resp = f"Você provavelmente não sobreviveria. Mas teria {y_hat[1]:.0%} de chance de ser resgatado com vida." else : resp = f"|Você sobreviveria!!!| -- | Probabilidade de {y_hat[1]:.0%} ." return resp demo = gr.Interface( fn = predict, inputs = [ gr.Dropdown( choices = [8, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 500], type = 'value', label = 'Valor da passagem em GB£(Libras Esterlinas)' ), 'number', gr.Dropdown( choices = ['Masculino', 'Feminino'], type = 'index', label = 'Gênero' ), gr.Dropdown( choices = [1, 2, 3], type = 'value', label = 'Classe' ), gr.Dropdown( choices = [0,1, 2, 3, 4, 5, 6, 7, 8], type = 'value', label = 'Conjujes ou Irmãos' ), ], outputs = 'label' ) demo.launch()