Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:1eval:tema01

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:iabd:pia:1eval:tema01 [2025/03/09 23:48]
admin [Definición del problema]
clase:iabd:pia:1eval:tema01 [2025/03/10 10:04] (actual)
admin [Ejercicios]
Línea 46: Línea 46:
         return 0         return 0
     else:     else:
-        if ancho_petalo>=1.8:+        if ancho_petalo>=1.7:
             return 2             return 2
         else:         else:
Línea 351: Línea 351:
  
 <sxh python> <sxh python>
 +from matplotlib.colors import ListedColormap
 figure=plt.figure(figsize = (5, 4)) figure=plt.figure(figsize = (5, 4))
 axes = figure.add_subplot() axes = figure.add_subplot()
  
-colors = ["blue", "red", "green"+colors = ["#0E5581", "#8F0C00", "#0C8F00"
 cmap = ListedColormap(colors[:len(np.unique(y))])  cmap = ListedColormap(colors[:len(np.unique(y))]) 
  
Línea 363: Línea 364:
  
 for i, name in enumerate(["Setosa","Versicolor"]): for i, name in enumerate(["Setosa","Versicolor"]):
-    color = scatter.cmap(scatter.norm(i))  # Obtener el color de la clase i +    color = scatter.cmap(scatter.norm(i))   
-    axes.scatter([], [], color=[color], label=name+":"+str(i))  # Usar 'color' en lugar de 'c' +    axes.scatter([], [], color=[color], label=name+":"+str(i))  
 axes.set_xlim(xmin=0,xmax=8) axes.set_xlim(xmin=0,xmax=8)
 axes.set_ylim(ymin=0,ymax=3) axes.set_ylim(ymin=0,ymax=3)
Línea 377: Línea 377:
  
 <sxh python> <sxh python>
 +from matplotlib.colors import ListedColormap
 figure=plt.figure(figsize = (5, 4)) figure=plt.figure(figsize = (5, 4))
 axes = figure.add_subplot() axes = figure.add_subplot()
  
-colors = ["blue", "red", "green"+colors = ["#0E5581", "#8F0C00", "#0C8F00"
 cmap = ListedColormap(colors[:len(np.unique(y))])  cmap = ListedColormap(colors[:len(np.unique(y))]) 
 +
 +
 +colors = ["#83B5F1", "#FF8175", "#75FF81"
 +cmap_fondo = ListedColormap(colors[:len(np.unique(y))]) 
  
  
Línea 398: Línea 403:
  
  
-scatter=axes.scatter(x=xa, y=ya, c=za, cmap=cmap,s=6)+scatter=axes.scatter(x=xa, y=ya, c=za, cmap=cmap_fondo,s=6)
 axes.set_xlabel('Largo Pétalo')   axes.set_xlabel('Largo Pétalo')  
 axes.set_ylabel('Ancho Pétalo') axes.set_ylabel('Ancho Pétalo')
  
 for i, name in enumerate(["Setosa","Versicolor"]): for i, name in enumerate(["Setosa","Versicolor"]):
-    color = scatter.cmap(scatter.norm(i))  # Obtener el color de la clase i +    color = scatter.cmap(scatter.norm(i))  
-    axes.scatter([], [], color=[color], label=name+":"+str(i))  # Usar 'color' en lugar de 'c' +    axes.scatter([], [], color=[color], label=name+":"+str(i))  
 +scatter=axes.scatter(x=x[:,0], y=x[:,1], c=y, cmap=cmap,s=6)
 axes.set_xlim(xmin=0,xmax=8) axes.set_xlim(xmin=0,xmax=8)
 axes.set_ylim(ymin=0,ymax=3) axes.set_ylim(ymin=0,ymax=3)
Línea 427: Línea 432:
 ===== Ejercicios ===== ===== Ejercicios =====
  
-==== Ejercicio 1 ====+==== Ejercicio 1.A ====
 Usando Google collab haz una red neuronal en python con Keras que obtenga el tipo de flor en función del "Largo Pétalo" y de "Ancho Pétalo". Usando Google collab haz una red neuronal en python con Keras que obtenga el tipo de flor en función del "Largo Pétalo" y de "Ancho Pétalo".
  
Línea 438: Línea 443:
 |  3.9    1.2      |    |    | |  3.9    1.2      |    |    |
  
-==== Ejercicio 2 ====+==== Ejercicio 1.B ==== 
 +Muestra la siguiente figura para ver como se comporta la red neuronal 
 + 
 +{{:clase:iabd:pia:1eval:ejer_01_01b.png|}} 
 + 
 + 
 +==== Ejercicio 2.A ====
 Modifica ahora la red neuronal de forma que: Modifica ahora la red neuronal de forma que:
  
     * La 1º  capa oculta tenga 4 neuronas en vez de 6     * La 1º  capa oculta tenga 4 neuronas en vez de 6
-    * La 2º capa oculta tenga neuronas en vez de 12 +    * La 2º capa oculta tenga neuronas en vez de 12 
-    * La 3º capa oculta tenga neuronas en vez de 6+    * La 3º capa oculta tenga neuronas en vez de 6
     * La 4º capa seguirá teniendo 1 neurona     * La 4º capa seguirá teniendo 1 neurona
 +    * Sean solo 30 épocas.
 +    * La semilla sea 5.
  
 Usando la web [[http://alexlenail.me/NN-SVG/index.html]] dibuja la red neuronal que acabas de crear Usando la web [[http://alexlenail.me/NN-SVG/index.html]] dibuja la red neuronal que acabas de crear
Línea 455: Línea 468:
 |  1.3    0.3      |    |    | |  1.3    0.3      |    |    |
 |  3.9    1.2      |    |    | |  3.9    1.2      |    |    |
 +
 +==== Ejercicio 2.B ====
 +Muestra la siguiente figura para ver como se comporta la red neuronal
 +
 +{{:clase:iabd:pia:1eval:ejer_01_02b.png|}}
  
  
Línea 475: Línea 493:
 Entrena la red con los nuevos datos Entrena la red con los nuevos datos
  
-Muestra la gráfica con los datos de entrada usando el código+Muestra la siguiente gráfica con los datos de entrada: 
-<sxh python> + 
-from matplotlib.colors import ListedColormap +{{:clase:iabd:pia:1eval:ejer_01_03.png|}}
-figure=plt.figure(figsize = (5, 4)) +
-axes = figure.add_subplot() +
-  +
-colors = ["blue", "red", "green"]  +
-cmap = ListedColormap(colors)  +
-  +
-  +
-scatter=axes.scatter(x=x[:,0], y=x[:,1], c=y, cmap=cmap,s=6) +
-axes.set_xlabel('Largo Pétalo'  +
-axes.set_ylabel('Ancho Pétalo'+
-  +
-for i, name in enumerate(["Setosa","Versicolor","Virginica"]): +
-    color = scatter.cmap(scatter.norm(i))  +
-    axes.scatter([], [], color=[color], label=name+":"+str(i))   +
-  +
-axes.set_xlim(xmin=0,xmax=8) +
-axes.set_ylim(ymin=0,ymax=3) +
-axes.legend(title="Flores"+
-</sxh>+
  
  
Línea 505: Línea 504:
 |  **X**  ||  **Y Predicha**  ||  **Y Real**  | |  **X**  ||  **Y Predicha**  ||  **Y Real**  |
 |  **Largo Pétalo**  |  **Ancho Pétalo**  |  **Score Flor Predicha **(''y_score'' |  **Valor Flor Predicha**(''y_pred'' |  **Valor Flor Real**(''y_true'' |  **Largo Pétalo**  |  **Ancho Pétalo**  |  **Score Flor Predicha **(''y_score'' |  **Valor Flor Predicha**(''y_pred'' |  **Valor Flor Real**(''y_true''
-|  5.1    1.5      |    |    +|  5.1    1.5      |    |  2  
-|  5.8    2.2      |    |    |+|  5.8    2.2      |    |  2  |
  
  
Línea 600: Línea 599:
  
 |  **X**  |  **Y Predicha**  ||  **Y Real**  | |  **X**  |  **Y Predicha**  ||  **Y Real**  |
-|  **Fila Datos**  |  **Score Flor Predicha **(''y_score'' |  **Valor Flor Predicha**(''y_pred'' |  **Valor Flor Real**(''y_true'' +|  **Fila Datos**  |  ''y_score''  |  ''y_pred''  |  ''y_true'' 
 |  56      |    |    | |  56      |    |    |
 |  204      |    |    | |  204      |    |    |
Línea 619: Línea 618:
  
 |  **X**  |  **Y Predicha**  ||  **Y Real**  | |  **X**  |  **Y Predicha**  ||  **Y Real**  |
-|  **Fila Datos**  |  **Score Flor Predicha **(''y_score'' |  **Valor Flor Predicha**(''y_pred'' |  **Valor Flor Real**(''y_true'' +|  **Fila Datos**  |  ''y_score''  |  ''y_pred''  |  ''y_true'' 
 |  56      |    |    | |  56      |    |    |
 |  204      |    |    | |  204      |    |    |
Línea 636: Línea 635:
  
 |  **X**  |  **Y Predicha**  ||  **Y Real**  | |  **X**  |  **Y Predicha**  ||  **Y Real**  |
-|  **Fila Datos**  |  **Score Flor Predicha **(''y_score'' |  **Valor Flor Predicha**(''y_pred'' |  **Valor Flor Real**(''y_true'' +|  **Fila Datos**  |  ''y_score''  |  ''y_pred''  |  ''y_true''  
 |  56      |    |    | |  56      |    |    |
 |  204      |    |    | |  204      |    |    |
Línea 643: Línea 642:
  
 |  **X**  |  **Y Predicha**  ||  **Y Real**  | |  **X**  |  **Y Predicha**  ||  **Y Real**  |
-|  **Fila Datos**  |  **Score Flor Predicha **(''y_score'' |  **Valor Flor Predicha**(''y_pred'' |  **Valor Flor Real**(''y_true'' +|  **Fila Datos**  |  ''y_score''  |  ''y_pred''  |  ''y_true''  
 |  56      |    |    | |  56      |    |    |
 |  204      |    |    | |  204      |    |    |
  
clase/iabd/pia/1eval/tema01.1741560538.txt.gz · Última modificación: 2025/03/09 23:48 por admin