Spaces:
Runtime error
Runtime error
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" | |
elif variable == 'Cola': | |
file_scaler = 'scaler_cola.pkl' | |
file_model = 'model_cola.pkl' | |
elif variable == 'Peso': | |
file_scaler = 'scaler_peso.pkl' | |
file_model = 'model_peso.pkl' | |
elif variable == 'Longitud total': | |
file_scaler = 'scaler_longitudtotal.pkl' | |
file_model = 'model_longitudtotal.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, valor_medido): | |
model, scaler = scaler_model_selector(variable) | |
sexo = classifier(valor_medido, model, scaler) | |
return sexo | |
variables_opcionales = ['Longitud de pico', 'Altura de pico', 'Cola', 'Peso', 'Longitud total'] | |
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, en milímetros, la longitud, la altura del pico, la longitud de la cola, el peso o la longitud total. | |
Todas estas variables tienen han mostrado, para la base de datos que tenemos, una precisión del 100% pero eso no indica que sean infalibles. | |
Cómo introducir los datos: | |
Punto 1: las medidas del pico se meten en MILÍMETROS. | |
Punto 2: las medidas de la cola y la longitud total se meten en CENTÍMETROS. | |
Punto 3: el peso se mete en gramos. | |
Punto 4: 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() |