Spaces:
Runtime error
Runtime error
File size: 2,358 Bytes
ed0886e e48ec4b d31f6d8 9fd5a83 d31f6d8 88ece84 d31f6d8 c1e59c3 d31f6d8 9fd5a83 d31f6d8 9fd5a83 22dd3bd d31f6d8 8f5db64 d31f6d8 e5683b9 d31f6d8 e5683b9 d31f6d8 9fd5a83 c1e59c3 d7cf074 30a73ea 9fd5a83 042b90b d7cf074 ac7c262 30456ac 92cbd4e 30a73ea 9fd5a83 d31f6d8 9fd5a83 d31f6d8 9fd5a83 8f5db64 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
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 = "Sexaje por biometría del águila arpía"
description = """
Esta aplicación se ha creado para clasificar el sexo de las arpías completamente desarrolladas.
Para ello basta con tomar cualquiera de las siguientes medidas: longitud de pico, altura del pico, longitud de cola, peso o longitud total.
Los modelos generados a partir de estas variables han mostrado una precisión del 100%, pero eso no indica que sean infalibles.
Instrucciones para introducir los datos correctamente:
1. Longitud de pico en milímetros.
2. Altura de pico en milímetros.
3. Cola en centímetros.
4. Peso en gramos.
5. Longitud total en centímetros.
6. Los decimales se indican usando 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() |