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 [2021/10/18 09:09]
cesar
clase:iabd:pia:1eval:tema01 [2023/10/22 14:28] (actual)
admin [Ejercicios]
Línea 113: Línea 113:
 from sklearn.datasets import load_iris from sklearn.datasets import load_iris
 from matplotlib.colors import LightSource from matplotlib.colors import LightSource
 +import random
  
 iris=load_iris() iris=load_iris()
Línea 126: Línea 127:
 np.random.seed(5) np.random.seed(5)
 tf.random.set_seed(5) tf.random.set_seed(5)
 +random.seed(5)  
  
 model=Sequential() model=Sequential()
Línea 183: Línea 184:
 np.random.seed(5) np.random.seed(5)
 tf.random.set_seed(5) tf.random.set_seed(5)
 +random.seed(5)  
 </sxh> </sxh>
  
Línea 350: Línea 352:
  
 ==== Ejercicio 2 ==== ==== Ejercicio 2 ====
-Vamos a ver como se comportan las predicciones haciendo distintos cambios en nuestra red neuronal+Modifica ahora la red neuronal de forma que:
  
-Los cambios son los siguientes: +    * La 1º  capa oculta tenga 4 neuronas en vez de 6 
-  * **No random seed** +    * La 2º capa oculta tenga 6 neuronas en vez de 12 
-Deberás eliminar las siguientes líneas: +    * La 3º capa oculta tenga 4 neuronas en vez de 6 
-<sxh python> +    * La 4º capa seguirá teniendo 1 neurona
-np.random.seed(5) +
-tf.random.set_seed(5) +
-</sxh> +
- +
- +
-  * **2 épocas** +
-  +
-En el método ''fit'' cambia el número de épocas para que sea solo 2  +
- +
- +
-  * **Red neuronal pequeña** +
- +
-Modifica el código python de la red neuronal original de forma que: +
-    * La 1º  capa oculta tenga 4 capas en vez de 6 +
-    * La 2º capa oculta tenga 6 capas en vez de 12 +
-    * La 3º capa oculta tenga 4 capas en vez de 6+
  
 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
  
  
-Ahora muestra los resultados en la siguiente tabla+Ahora muestra los resultados
  
-|  **Largo Sépalo**  |  **Largo Pétalo**  |  **Resultado red neuronal Original**  |  **No random seed**  |  **2 épocas**  |  **Red neuronal pequeña**  |  **Tipo de Flor(0 o 1)**  | +|  **Largo Sépalo**  |  **Largo Pétalo**  |  **Resultado red neuronal**  |  ** Tipo de Flor(0 o 1)**  | 
-|  5.4    1.7   |    |    |    |    |    | +|  5.4    1.7      |    | 
-|  5.5    4.0   |    |    |    |    |    |+|  5.5    4.0      |    |
  
  
Línea 398: Línea 384:
 flower_type=iris.target[:] flower_type=iris.target[:]
 </sxh> </sxh>
 +
 +Entrena la red con los nuevos datos
  
 Muestra la gráfica con los datos de entrada usando el código: Muestra la gráfica con los datos de entrada usando el código:
Línea 483: Línea 471:
 </note> </note>
  
 +Imprime el valor de la fila 56 tanto de la ''x'' como de la ''y''.
  
-Deberás hacer 3 redes neuronales distintas ( llamadas **A**, **B** y **C**) y comprobar las predicciones con 4 conjuntos de datos distintos  (llamados **1º**, **2º**, **3º** y **4º**).+<sxh> 
 +#Para que los datos no se muestren con notación científica 
 +np.set_printoptions(suppress=True
  
-Usando la web [[http://alexlenail.me/NN-SVG/index.html]] también deberás dibujar cada una de las redes neuronales que acabas de crear+print(x[56],y[56]) 
 +</sxh>
  
-|  Datos  |  Resultado red neuronal **A**  |  Resultado red neuronal **B**  |  Resultado red neuronal **C**  |  ** Resultado Real **  | +Ahora muestra los valores de la ''x'' y la ''y'' para la fila 204.
-|   **1º**  |        |    | +
-|   **2º**  |        |    | +
-|   **3º**  |        |    | +
-|   **4º**  |        |    |+
  
-Para ver los datos junto a su predicción puedes usar las siguientes líneas: 
-<sxh python> 
-np.set_printoptions(threshold=np.inf) 
-np.set_printoptions(suppress=True) 
-np.column_stack((x,y)) 
-</sxh> 
  
-Y mostrará algo simular a ésto: +Crea una red neuronal en las que en cada capa tenga los siguientes números de neuronas:
-<sxh base> +
-array([[  17.99     ,   10.38     ,  122.8      , 1001.       , +
-           0.1184   ,    0.2776   ,    0.3001   ,    0.1471   , +
-           0.2419   ,    0.07871  ,    1.095    ,    0.9053   , +
-           8.589    ,  153.4      ,    0.006399 ,    0.04904 +
-           0.05373  ,    0.01587  ,    0.03003  ,    0.006193 , +
-          25.38     ,   17.33     ,  184.6      , 2019.       , +
-           0.1622   ,    0.6656   ,    0.7119   ,    0.2654   , +
-           0.4601   ,    0.1189   ,    0.       ], +
-        20.57     ,   17.77     ,  132.9      , 1326.       , +
-           0.08474  ,    0.07864  ,    0.0869   ,    0.07017 +
-           0.1812   ,    0.05667  ,    0.5435   ,    0.7339   , +
-           3.398    ,   74.08     ,    0.005225 ,    0.01308 +
-           0.0186   ,    0.0134   ,    0.01389  ,    0.003532 , +
-          24.99     ,   23.41     ,  158.8      , 1956.       , +
-           0.1238   ,    0.1866   ,    0.2416   ,    0.186    , +
-           0.275    ,    0.08902  ,    0.       ], +
-            +
-            +
-    ..................... +
-     +
-     +
-        20.6      ,   29.33     ,  140.1      , 1265.       , +
-           0.1178   ,    0.277    ,    0.3514   ,    0.152    , +
-           0.2397   ,    0.07016  ,    0.726    ,    1.595    , +
-           5.772    ,   86.22     ,    0.006522 ,    0.06158 +
-           0.07117  ,    0.01664  ,    0.02324  ,    0.006185 , +
-          25.74     ,   39.42     ,  184.6      , 1821.       , +
-           0.165    ,    0.8681   ,    0.9387   ,    0.265    , +
-           0.4087   ,    0.124    ,    0.       ], +
-         7.76     ,   24.54     ,   47.92     ,  181.       , +
-           0.05263  ,    0.04362  ,    0.       ,    0.       , +
-           0.1587   ,    0.05884  ,    0.3857   ,    1.428    , +
-           2.548    ,   19.15     ,    0.007189 ,    0.00466 +
-           0.       ,    0.       ,    0.02676  ,    0.002783 , +
-           9.456    ,   30.37     ,   59.16     ,  268.6      , +
-           0.08996  ,    0.06444  ,    0.       ,    0.       , +
-           0.2871   ,    0.07039  ,    1.       ]]) +
-</sxh>+
  
-Siendo la última columna es resultado que debe dar. Y las 30 primeras columnas la entrada al método ''predict''+|  **Nº Capa**  |  **Nº Neuronas** 
 +|   1º  |  30   | 
 +|   2º  |  60   | 
 +|   3º  |  100   | 
 +|   4º  |  60   | 
 +|   5º  |  30   | 
 +|   6º  |  10   | 
 +|   7º  |  1   |
  
-==== Ejercicio 6 ==== 
-En este caso, vamos a utilizar un conjunto de datos para clasificar tipos de vino. 
  
-Los datos se obtienen de la siguiente forma:+Rellena la siguiente tabla y muestrala
  
-<sxh python> +|  **Fila Datos**  | **Resultado ''verdadero''**  |  **Resultado red neuronal**  | 
-from sklearn.datasets import load_wine+|   56  |        | 
 +|   204  |        |
  
-wine=load_wine()+¿Es una buena red?
  
-x = wine.data + 
-y = wine.target+Usa hora una red más pequeña de forma que tenga las siguientes capas: 
 + 
 +|  **Nº Capa**  |  **Nº Neuronas** 
 +|   1º  |  6   | 
 +|   2º  |  12   | 
 +|   3º  |  6   | 
 +|   4º  |  1   | 
 + 
 + 
 +Rellena la siguiente tabla muestrala 
 + 
 +|  **Fila Datos**  | **Resultado ''verdadero''**  |  **Resultado red neuronal** 
 +|   56  |        | 
 +|   204  |        | 
 + 
 +¿Es una buena red? 
 + 
 +==== Ejercicio 6 ==== 
 +Repite la red pequeña del ejercicio  anterior pero ahora modificando la semilla de los números aleatorios 
 +<sxh> 
 +np.random.seed(5) 
 +tf.random.set_seed(5) 
 +random.seed(5)
 </sxh> </sxh>
  
-Igual que el ejercicio anterior, deberás hacer 3 redes neuronales distintas ( llamadas **A**, **B** y **C**) y comprobar las predicciones con 4 conjuntos de datos distintos  (llamados **1º**, **2º**, **3º** y **4º**).+Rellena la siguiente tabla muestrala con una **red con la semilla 6**
  
-|  Datos  |  Resultado red neuronal **A**  |  Resultado red neuronal **B**  |  Resultado red neuronal **C**  |  ** Resultado Real **  | +|  **Fila Datos**  | **Resultado ''verdadero''**  |  **Resultado red neuronal**  | 
-|   **1º**      |    |    | +|   56         | 
-|   **2º**      |    |    | +|   204         |
-|   **3º**  |        |    | +
-|   **4º**  |        |    |+
  
 +Rellena la siguiente tabla y muestrala con una **red con la semilla 88**
  
 +|  **Fila Datos**  | **Resultado ''verdadero''**  |  **Resultado red neuronal**  |
 +|   56  |        |
 +|   204  |        |
  
clase/iabd/pia/1eval/tema01.1634540964.txt.gz · Última modificación: 2021/10/18 09:09 por cesar