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/09/22 02:43]
admin [Ejercicios]
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 475: Línea 463:
 Y los histogramas de todos los datos son los siguientes: Y los histogramas de todos los datos son los siguientes:
  
-{{ :clase:iabd:pia:1eval:breast_cancer_hist.png?direct |}}+{{ :clase:iabd:pia:1eval:breast_cancer_kde.png?direct |}}
  
 Podemos ven en los histogramas que no hay una forma fácil de saber si una célula es o no cancerígena. Podemos ven en los histogramas que no hay una forma fácil de saber si una célula es o no cancerígena.
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.       , + **Nº Capa**  |  **Nº Neuronas**  | 
-           0.1184   ,    0.2776   ,    0.3001   ,    0.1471   , +  1º  |  30   
-           0.2419   ,    0.07871  ,    1.095    ,    0.9053   , +  2º  |  60   | 
-           8.589    ,  153.4      ,    0.006399 ,    0.04904  , +  3º  |  100   | 
-           0.05373  ,    0.01587  ,    0.03003  ,    0.006193 , +|   4º   60   | 
-          25.38     ,   17.33     ,  184.6      , 2019.       , +|   5º   30   | 
-           0.1622   ,    0.6656   ,    0.7119   ,    0.2654   , +  6º  |  10   | 
-           0.4601   ,    0.1189   ,    0.       ], +  7º  |  1   | 
-       [  20.57     ,   17.77     ,  132.9      , 1326.       , + 
-           0.08474  ,    0.07864  ,    0.0869   ,    0.07017  , + 
-           0.1812   ,    0.05667  ,    0.5435   ,    0.7339   , +Rellena la siguiente tabla y muestrala 
-           3.398    ,   74.08        0.005225 ,    0.01308  , + 
-           0.0186   ,    0.0134   ,    0.01389  ,    0.003532 , + **Fila Datos**  | **Resultado ''verdadero''**   **Resultado red neuronal**  | 
-          24.99     ,   23.41     ,  158.8      , 1956.       , +  56         | 
-           0.1238   ,    0.1866   ,    0.2416   ,    0.186    , +  204         | 
-           0.275    ,    0.08902  ,    0.       ], + 
-            +¿Es una buena red? 
-            + 
-    ..................... + 
-     +Usa hora una red más pequeña de forma que tenga las siguientes capas: 
-     + 
-       [  20.6      ,   29.33     ,  140.1      , 1265.       , + **Nº Capa**  **Nº Neuronas**  | 
-           0.1178   ,    0.277    ,    0.3514   ,    0.152    , +  1º  |  6   | 
-           0.2397   ,    0.07016  ,    0.726    ,    1.595    , +  2º  |  12   | 
-           5.772    ,   86.22     ,    0.006522 ,    0.06158  +  3º   6   | 
-           0.07117  ,    0.01664  ,    0.02324  ,    0.006185 , +  4º  |    | 
-          25.74     ,   39.42     ,  184.6      , 1821.       , + 
-           0.165    ,    0.8681   ,    0.9387   ,    0.265    , + 
-           0.4087   ,    0.124    ,    0.       ], +Rellena la siguiente tabla y muestrala 
-       [   7.76     ,   24.54     ,   47.92     ,  181.       , + 
-           0.05263  ,    0.04362  ,    0.       ,    0.       , + **Fila Datos**  | **Resultado ''verdadero''**  **Resultado red neuronal**  | 
-           0.1587   ,    0.05884     0.3857   ,    1.428    , +  56  |        | 
-           2.548    ,   19.15        0.007189 ,    0.00466  , +  204  |        | 
-           0.       ,    0.       ,    0.02676  ,    0.002783 , + 
-           9.456    ,   30.37     ,   59.16     ,  268.     , +¿Es una buena red? 
-           0.08996  ,    0.06444  ,    0      ,    0.       , + 
-           0.2871   ,    0.07039  ,    1      ]])+==== Ejercicio ==== 
 +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>
  
-Siendo la última columna es resultado que debe dar. Y las 30 primeras columnas la entrada al método ''predict''+Rellena la siguiente tabla y muestrala con una **red con la semilla 6** 
 + 
 +|  **Fila Datos**  | **Resultado ''verdadero''**  |  **Resultado red neuronal** 
 +|   56  |        | 
 +|   204  |        | 
 + 
 +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.1632271400.txt.gz · Última modificación: 2021/09/22 02:43 por admin