hernanhgm commited on
Commit
d31f6d8
·
1 Parent(s): 67b85e1

Add option of two classifiers

Browse files
Files changed (1) hide show
  1. app.py +35 -12
app.py CHANGED
@@ -1,33 +1,56 @@
1
- import numpy as np
2
  import gradio as gr
3
- import joblib
4
 
5
- def clasificador(value):
 
6
 
7
- model = joblib.load("model_longpico.pkl")
8
- scaler = joblib.load("scaler_longpico.pkl")
 
 
 
 
 
 
 
9
 
10
- data = np.array(value).reshape(1, -1)
 
 
 
 
 
11
  data_scaled = scaler.transform(data)
12
  pred = model.predict(data_scaled)
13
 
14
  label = ['hembra', 'macho']
15
  sexo = label[pred[0]]
16
-
17
  return sexo
18
-
 
 
 
 
 
 
 
19
 
20
  title = "Clasificador del sexo de buitre negro"
21
  description = """
22
  Esta aplicación se ha creado para clasificar el sexo de las arpías completamente desarrolladas.
23
  Para ello basta con medir la longitud del pico en milímetros.
24
 
25
- A ver que nos conocemos, MILÍMETROS. Si se mide en centímetros no funciona, tienen que ser MILÍMETROS.
26
- """
 
 
 
27
 
 
28
  demo = gr.Interface(
29
- fn=clasificador,
30
- inputs=["number"],
 
31
  outputs="text",
32
  title=title,
33
  description=description
 
 
1
  import gradio as gr
 
2
 
3
+ def scaler_model_selector(variable):
4
+ from joblib import load
5
 
6
+ if variable == 'Longitud de pico':
7
+ file_scaler = "scaler_longpico.pkl"
8
+ file_model = "model_longpico.pkl"
9
+ elif variable == 'Altura de pico':
10
+ file_scaler = "scaler_altopico.pkl"
11
+ file_model = "model_altopico.pkl"
12
+
13
+ model = load(file_model)
14
+ scaler = load(file_scaler)
15
 
16
+ return model, scaler
17
+
18
+ def classifier(measured_value, model, scaler):
19
+ import numpy as np
20
+
21
+ data = np.array([measured_value]).reshape(1, -1)
22
  data_scaled = scaler.transform(data)
23
  pred = model.predict(data_scaled)
24
 
25
  label = ['hembra', 'macho']
26
  sexo = label[pred[0]]
27
+
28
  return sexo
29
+
30
+
31
+ def complete_classification(variable, measured_value):
32
+ model, scaler = scaler_model_selector(variable)
33
+ sexo = classifier(measured_value, model, scaler)
34
+
35
+ return sexo
36
+
37
 
38
  title = "Clasificador del sexo de buitre negro"
39
  description = """
40
  Esta aplicación se ha creado para clasificar el sexo de las arpías completamente desarrolladas.
41
  Para ello basta con medir la longitud del pico en milímetros.
42
 
43
+ A ver que nos conocemos:
44
+
45
+ Punto 1: las medidas se meten en MILÍMETROS. Si se mide en centímetros no funciona, tienen que ser MILÍMETROS.
46
+
47
+ Punto 2: para los decimales se usan puntos "." o comas ",". Nada más ¿estamos?
48
 
49
+ """
50
  demo = gr.Interface(
51
+ fn=complete_classification,
52
+ inputs=[gr.Radio(variables_opcionales),
53
+ gr.Number()],
54
  outputs="text",
55
  title=title,
56
  description=description