hernanhgm's picture
Add option of two classifiers
d31f6d8
raw
history blame
1.6 kB
import gradio as gr
def scaler_model_selector(variable):
from joblib import load
if variable == 'Longitud de pico':
file_scaler = "scaler_longpico.pkl"
file_model = "model_longpico.pkl"
elif variable == 'Altura de pico':
file_scaler = "scaler_altopico.pkl"
file_model = "model_altopico.pkl"
model = load(file_model)
scaler = load(file_scaler)
return model, scaler
def classifier(measured_value, model, scaler):
import numpy as np
data = np.array([measured_value]).reshape(1, -1)
data_scaled = scaler.transform(data)
pred = model.predict(data_scaled)
label = ['hembra', 'macho']
sexo = label[pred[0]]
return sexo
def complete_classification(variable, measured_value):
model, scaler = scaler_model_selector(variable)
sexo = classifier(measured_value, model, scaler)
return sexo
title = "Clasificador del sexo de buitre negro"
description = """
Esta aplicación se ha creado para clasificar el sexo de las arpías completamente desarrolladas.
Para ello basta con medir la longitud del pico en milímetros.
A ver que nos conocemos:
Punto 1: las medidas se meten en MILÍMETROS. Si se mide en centímetros no funciona, tienen que ser MILÍMETROS.
Punto 2: para los decimales se usan puntos "." o comas ",". Nada más ¿estamos?
"""
demo = gr.Interface(
fn=complete_classification,
inputs=[gr.Radio(variables_opcionales),
gr.Number()],
outputs="text",
title=title,
description=description
)
demo.launch()