File size: 1,602 Bytes
ed0886e
e48ec4b
d31f6d8
 
9fd5a83
d31f6d8
 
 
 
 
 
 
 
 
9fd5a83
d31f6d8
 
 
 
 
 
9fd5a83
 
 
22dd3bd
 
d31f6d8
8f5db64
d31f6d8
 
 
 
 
 
 
 
9fd5a83
dfc88d1
9fd5a83
042b90b
dfc88d1
30456ac
d31f6d8
 
 
 
 
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
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()