import gradio as gr import numpy as np from joblib import load # Carrega o modelo model = load('RandomForestModel.joblib') # Define a função de previsão que será chamada pela interface def predict(pregnancies, glucose, bp, skin, insulin, bmi, diabetes_pedigree, age): # Transforma os inputs em um array numpy no formato correto X = np.array([[pregnancies, glucose, bp, skin, insulin, bmi, diabetes_pedigree, age]]) # Faz a previsão usando o modelo carregado prediction = model.predict(X) # Retorna a previsão return {'Outcome': prediction[0]} # Cria os campos de entrada para a interface do Gradio inputs = [ gr.Number(label="Pregnancies"), gr.Number(label="Glucose"), gr.Number(label="Blood Pressure"), gr.Number(label="Skin Thickness"), gr.Number(label="Insulin"), gr.Number(label="BMI"), gr.Number(label="Diabetes Pedigree Function"), gr.Number(label="Age") ] # Define a saída da interface output = gr.Label(num_top_classes=1) # Cria a interface de usuário com Gradio iface = gr.Interface(fn=predict, inputs=inputs, outputs=output, title="Diabetes Prediction with Random Forest") # Inicia a interface iface.launch()