Water / app.py
Thiago-Cerq's picture
Update app.py
6686450
import gradio as gr
import numpy as np
from joblib import load
rf = load('model.joblib')
columns = ['ph', 'Hardness', 'Solids', 'Chloramines',
'Sulfate', 'Conductivity', 'Organic Carbon', 'Trihalomethanes',
'Turbidity']
def predict(ph, Hardness, Solids, Chloramines, Sulfate, Conductivity, Organic_carbon, Trihalomethanes, Turbidity):
data = np.array([[ph, Hardness, Solids, Chloramines, Sulfate, Conductivity, Organic_carbon, Trihalomethanes, Turbidity]])
pred = rf.predict(data)
return {'Potability': int(pred[0])} # Convertendo para inteiro para garantir que seja um valor numérico válido
inputs = [
gr.Number(label="ph", value = "7.628552723143854"),
gr.Number(label="Hardness", value = "156.79369424379345"),
gr.Number(label="Solids", value = "26244.036907954305"),
gr.Number(label="Chloramines", value = "8.337610433523373"),
gr.Number(label="Sulfate", value = "255.04319358074315"),
gr.Number(label="Conductivity", value = "495.9669861271219"),
gr.Number(label="Organic_carbon", value = "13.633974380958477"),
gr.Number(label="Trihalomethanes", value = "65.60484124722676"),
gr.Number(label="Turbidity", value = "4.182057147919716"),
]
output = gr.Label(num_top_classes=2) # Definindo num_top_classes para 2 para abranger os valores 0 e 1 da saída binária
title = "Classificador de Qualidade da Água",
iface = gr.Interface(
fn=predict,
inputs=inputs,
outputs=output,
title = "Classificador de Qualidade da Água",
description="O modelo classifica a qualidade da água com base em suas características e determina se é potável ou não."
)
iface.launch(share=True)