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
Última revisión Ambos lados, revisión siguiente
clase:iabd:pia:1eval:tema01 [2021/09/19 17:23]
admin [Ejercicios]
clase:iabd:pia:1eval:tema01 [2023/10/22 14:27]
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 345: Línea 347:
 Obtén el resultado de la red neuronal para las siguientes entradas e indica el tipo de flor que ha calcula la red neuronal. Obtén el resultado de la red neuronal para las siguientes entradas e indica el tipo de flor que ha calcula la red neuronal.
  
-|  **Largo Sépalo**  |  **Largo Pétalo**  |  **Resultado red neuroral**  |  ** Tipo de Flor **  |+|  **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      |    |
- 
  
 ==== Ejercicio 2 ==== ==== Ejercicio 2 ====
-Vuelve a ejecutar el código y comprueba si da el mismo resultado con los valores del ejercicio 1.+Modifica ahora la red neuronal de forma que:
  
-Elimina las siguientes líneas: +    * La 1º  capa oculta tenga 4 neuronas en vez de 6 
-<sxh python> +    * La 2º capa oculta tenga 6 neuronas en vez de 12 
-np.random.seed(5) +    * La 3º capa oculta tenga 4 neuronas en vez de 6 
-tf.random.set_seed(5) +    * La 4º capa seguirá teniendo 1 neurona
-</sxh>+
  
-Vuelve a ejecutar el código y comprueba si da el mismo resultado con los valores del ejercicio 1.+Usando la web [[http://alexlenail.me/NN-SVG/index.html]] dibuja la red neuronal que acabas de crear
  
-==== Ejercicio 3 ==== 
-Vuelve a añadir las líneas de  
-<sxh python> 
-np.random.seed(5) 
-tf.random.set_seed(5) 
-</sxh> 
  
-Y ejecuta el código pero en el método ''fit'' cambia el número de épocas para que sea solo 2 y comprueba si da el mismo resultado con los valores del ejercicio 1.+Ahora muestra los resultados
  
-==== Ejercicio ====+|  **Largo Sépalo**  |  **Largo Pétalo**  |  **Resultado red neuronal**  |  ** Tipo de Flor(0 o 1)**  | 
 +|  5.4    1.7      |    | 
 +|  5.5    4.0      |    | 
 + 
 + 
 +==== Ejercicio ====
 Usando el código de la red original, modifica las siguientes líneas: Usando el código de la red original, modifica las siguientes líneas:
 <sxh python> <sxh python>
Línea 385: 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 398: Línea 399:
  
  
-¿Que ves de distinto?+Ahora verás que hay otro tipo de flor llamado //Virginica//.
  
 Prueba a ver si funciona ahora la red neuronal con el nuevo tipo de flor. Prueba a ver si funciona ahora la red neuronal con el nuevo tipo de flor.
  
 +|  **Largo Sépalo**  |  **Largo Pétalo**  |  **Resultado red neuronal**  |  ** Tipo de Flor **  |
 +|  6.9    5.1      |    |
 +|  7.7    6.1      |    |
  
-==== Ejercicio 5 ==== 
-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 
  
- +==== Ejercicio ====
-Usando la web [[http://alexlenail.me/NN-SVG/index.html]] dibuja la red neuronal que acabas de crear +
- +
-Vuelve a ejecutar el código y comprueba si da el mismo resultado con los valores del ejercicio 1. +
- +
-==== Ejercicio ====+
 Piensa al menos 3 problemas que se podrían resolver con una red neuronal similar a la que has usado. Piensa al menos 3 problemas que se podrían resolver con una red neuronal similar a la que has usado.
  
-==== Ejercicio ==== +==== Ejercicio ==== 
-Vamos a ver ahora otro conjunto de datos relativo a la detección de cancer de mama.+Vamos a ver ahora otro conjunto de datos relativo a la detección de cáncer de mama.
  
 Los datos se obtienen de la siguiente forma: Los datos se obtienen de la siguiente forma:
Línea 465: Línea 459:
 Esto datos son relativos a imágenes de núcleos celulares como los siguientes: Esto datos son relativos a imágenes de núcleos celulares como los siguientes:
  
-{{ :clase:iabd:pia:1eval:nucleos_celulares_cancer.png?direct |}}+{{ :clase:iabd:pia:1eval:nucleos_celulares_cancer.png?direct&400 |}} 
 + 
 +Y los histogramas de todos los datos son los siguientes: 
 + 
 +{{ :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. 
 + 
 +<note important> 
 +En vez de incluir todos los datos en la red neuronal , habría que hacer un Análisis exploratorio de datos (EDA) y por ejemplo eliminar las columnas que están relacionadas. 
 +</note> 
 + 
 +Imprime el valor de la fila 56 tanto de la ''x'' como de la ''y''
 + 
 +<sxh> 
 +#Para que los datos no se muestren con notación científica 
 +np.set_printoptions(suppress=True)  
 + 
 +print(x[56],y[56]) 
 +</sxh> 
 + 
 +Ahora muestra los valores de la ''x'' y la ''y'' para la fila 204. 
 + 
 + 
 +Crea una red neuronal en las que en cada capa tenga los siguientes números de neuronas: 
 + 
 +|  **Nº Capa**  |  **Nº Neuronas** 
 +|   1º  |  30   | 
 +|   2º  |  60   | 
 +|   3º  |  100   | 
 +|   4º  |  60   | 
 +|   5º  |  30   | 
 +|   6º  |  10   | 
 +|   7º  |  1   | 
 + 
 + 
 +Rellena la siguiente tabla y muestrala 
 + 
 +|  **Fila Datos**  | **Resultado ''verdadero''**  |  **Resultado red neuronal** 
 +|   56  |        | 
 +|   204  |        | 
 + 
 +¿Es una buena red? 
 + 
 + 
 +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 y 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 
 +<shx> 
 +np.random.seed(5) 
 +tf.random.set_seed(5) 
 +random.seed(5) 
 +</sxh> 
 + 
 +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.txt · Última modificación: 2023/10/22 14:28 por admin