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
Próxima revisión Ambos lados, revisión siguiente
clase:iabd:pia:1eval:tema01 [2021/09/19 17:38]
admin [Ejercicios]
clase:iabd:pia:1eval:tema01 [2023/06/05 11:07]
admin [Código en Python]
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(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 353: Línea 355:
  
 Los cambios son los siguientes: Los cambios son los siguientes:
-  * No random seed+  * **No random seed**
 Deberás eliminar las siguientes líneas: Deberás eliminar las siguientes líneas:
 <sxh python> <sxh python>
 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 378: Línea 381:
 Ahora muestra los resultados en la siguiente tabla Ahora muestra los resultados en la siguiente tabla
  
-|  **Largo Sépalo**  |  **Largo Pétalo**  |  **Resultado red neuroral 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 Original**  |  **No random seed**  |  **2 épocas**  |  **Red neuronal pequeña**  |  **Tipo de Flor(0 o 1)**  |
 |  5.4    1.7      |    |    |    |    | |  5.4    1.7      |    |    |    |    |
 |  5.5    4.0      |    |    |    |    | |  5.5    4.0      |    |    |    |    |
Línea 415: Línea 418:
 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 neuroral**  |  ** Tipo de Flor **  |+|  **Largo Sépalo**  |  **Largo Pétalo**  |  **Resultado red neuronal**  |  ** Tipo de Flor **  |
 |  6.9    5.1      |    | |  6.9    5.1      |    |
 |  7.7    6.1      |    | |  7.7    6.1      |    |
Línea 472: Línea 475:
  
 {{ :clase:iabd:pia:1eval:nucleos_celulares_cancer.png?direct&400 |}} {{ :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>
 +
 +
 +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º**).
 +
 +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
 +
 +|  Datos  |  Resultado red neuronal **A**  |  Resultado red neuronal **B**  |  Resultado red neuronal **C**  |  ** Resultado Real **  |
 +|   **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:
 +<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''
 +
 +==== 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:
 +
 +<sxh python>
 +from sklearn.datasets import load_wine
 +
 +wine=load_wine()
 +
 +x = wine.data
 +y = wine.target
 +</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º**).
 +
 +|  Datos  |  Resultado red neuronal **A**  |  Resultado red neuronal **B**  |  Resultado red neuronal **C**  |  ** Resultado Real **  |
 +|   **1º**  |        |    |
 +|   **2º**  |        |    |
 +|   **3º**  |        |    |
 +|   **4º**  |        |    |
 +
  
  
clase/iabd/pia/1eval/tema01.txt · Última modificación: 2023/10/22 14:28 por admin