Muestra las diferencias entre dos versiones de la página.
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:51] 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) | ||
</ | </ | ||
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 Sépalo** |
| 5.4 | | 5.4 | ||
| 5.5 | | 5.5 | ||
Línea 353: | Línea 355: | ||
Los cambios son los siguientes: | Los cambios son los siguientes: | ||
- | * 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) | ||
</ | </ | ||
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 Sépalo** |
| 5.4 | | 5.4 | ||
| 5.5 | | 5.5 | ||
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 Sépalo** |
| 6.9 | | 6.9 | ||
| 7.7 | | 7.7 | ||
Línea 473: | Línea 476: | ||
{{ : | {{ : | ||
+ | Y los histogramas de todos los datos son los siguientes: | ||
- | Deberás hacer 3 redes neuronales distintas y comprobar el resultado de varias predicciones. | + | {{ : |
- | Para ver los datos junto a su preducción | + | 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. | ||
+ | </ | ||
+ | |||
+ | |||
+ | Deberás hacer 3 redes neuronales distintas ( llamadas **A**, **B** y **C**) y comprobar las predicciones con 4 conjuntos de datos distintos | ||
+ | |||
+ | Usando la web [[http:// | ||
+ | |||
+ | | Datos | Resultado red neuronal **A** | Resultado red neuronal **B** | Resultado red neuronal **C** | ** Resultado Real ** | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |||
+ | Para ver los datos junto a su predicción | ||
<sxh python> | <sxh python> | ||
np.set_printoptions(threshold=np.inf) | np.set_printoptions(threshold=np.inf) | ||
np.set_printoptions(suppress=True) | np.set_printoptions(suppress=True) | ||
- | print(np.column_stack((x, | + | np.column_stack((x, |
</ | </ | ||
Y mostrará algo simular a ésto: | Y mostrará algo simular a ésto: | ||
<sxh base> | <sxh base> | ||
- | [[ 17.99 10.38 | + | array([[ 17.99 , 10.38 , |
- | 0.2776 | + | 0.1184 |
- | 1.095 0.9053 | + | 0.2419 |
- | 0.04904 | + | 8.589 , |
- | 25.38 17.33 | + | 0.05373 |
- | 0.6656 | + | 25.38 , 17.33 , |
- | 0. ] | + | 0.1622 |
- | | + | 0.4601 |
- | 0.07864 | + | |
- | 0.5435 | + | 0.08474 |
- | 0.01308 | + | 0.1812 |
- | 24.99 23.41 | + | 3.398 , |
- | 0.1866 | + | 0.0186 |
- | 0. ] | + | 24.99 , 23.41 , |
+ | 0.1238 | ||
+ | 0.275 , | ||
+ | |||
+ | |||
..................... | ..................... | ||
- | [ 20.6 | + | |
- | 0.277 0.3514 | + | |
- | 0.726 1.595 5.772 | + | [ 20.6 , |
- | 0.06158 | + | 0.1178 |
- | 25.74 39.42 | + | 0.2397 |
- | 0.8681 | + | 5.772 , |
- | 0. ] | + | 0.07117 |
- | | + | 25.74 , 39.42 , |
- | 0.04362 | + | 0.165 , |
- | 0.3857 | + | 0.4087 |
- | 0.00466 | + | |
- | | + | 0.05263 |
- | 0.06444 | + | 0.1587 |
- | 1. ]] | + | 2.548 , |
+ | 0. , | ||
+ | | ||
+ | 0.08996 | ||
+ | 0.2871 | ||
</ | </ | ||
Siendo la última columna es resultado que debe dar. Y las 30 primeras columnas la entrada al método '' | Siendo la última columna es resultado que debe dar. Y las 30 primeras columnas la entrada al método '' | ||
+ | |||
+ | ==== 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 | ||
+ | </ | ||
+ | |||
+ | 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 | ||
+ | |||
+ | | Datos | Resultado red neuronal **A** | Resultado red neuronal **B** | Resultado red neuronal **C** | ** Resultado Real ** | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |||
+ | |||