Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:1eval:tema05

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:tema05 [2022/02/01 16:40]
admin [Acceso a disco]
clase:iabd:pia:1eval:tema05 [2022/02/06 21:02] (actual)
admin [Ejercicios]
Línea 92: Línea 92:
  
 <note> <note>
-Si al guardar los datos No se añadió el parámetro ''index=False'' ,al leer el fichero se deberá añadir el parámetro ''index_col=0''+Si al guardar los datos **NO** se añadió el parámetro ''index=False'' ,al leer el fichero se deberá añadir el parámetro ''index_col=0''
 <sxh python> <sxh python>
 df.to_csv("datos.csv") df.to_csv("datos.csv")
Línea 605: Línea 605:
   * Muestra un //pairplot//   * Muestra un //pairplot//
  
-==== Ejercicio 2.====+==== Ejercicio 2.==== 
 +Descarga el siguiente fichero {{ :clase:iabd:pia:1eval:tiempos_red_neuronal.csv |}} que contiene los segundos que ha tardado en entrenarse una red neuronal según el nº de épocas y la función de activación usada 
 + 
 +  * Abre el fichero con un editor de texto y comprueba que formato tiene 
 +  * Carga el fichero con pandas 
 +  * Muestra las columnas que tiene 
 +  * Renombra la columna ''talla'' a ''epoca'' 
 +  * Muestra cuantas filas hay 
 +  * Muestra cuantos valores son null o NaN en cada columna 
 +  * Muestra el % de valores a null o NaN en cada columna 
 +  * Borra las filas que tengan algún valor a null o NaN 
 +  * Muestra las estadísticas de cada columna. ¿Podrías borrar alguna? ¿Explica porqué? En caso afirmativo borra la columna 
 +  * Indica que funciones de activación se han usado 
 +  * Indica hasta cuantas épocas se ha entrenado la red 
 +  * Indica la función de activación que ha tenido el mayor tiempo en la última época 
 + 
 +==== Ejercicio 2.B ==== 
 +Siguiendo con el DataFrame anterior: 
 + 
 +  * Muestra un scatter plot 
 +    * Eje X:Época 
 +    * Eje Y:Tiempo 
 +    * Separa los datos por colores según la función de activación 
 +    * Añade un título al gráfico y a los 2 ejes. 
 + 
 +¿Ves algo raro en los datos? 
 + 
 +{{:clase:iabd:pia:1eval:tiempos_red_neuronal.csv.scatter.png?direct|}} 
 + 
 +==== Ejercicio 2.C ==== 
 +Siguiendo con el DataFrame anterior: 
 + 
 +  * Haz una regresión lineal de los datos para cada tipo de activación. 
 +  * Haz un gráfico que: 
 +    * Muestre la recta de la regresión de cada función de activación. 
 +    * En la etiqueta de cada función de activación se muestre también el valor de R² para cada uno de ellos. 
 + 
 +{{:clase:iabd:pia:1eval:tiempos_red_neuronal.csv.regresion.png?direct|}} 
 + 
 + 
 +==== Ejercicio 2.D ==== 
 +Siguiendo con el DataFrame anterior: 
 + 
 +La gráfica no deja claro cda una de las rectas. Para mejorarlo se podría anotar al final de cada recta el nombre de la función de activación tal y como se muestra en el siguiente gráfico: 
 + 
 +{{:clase:iabd:pia:1eval:tiempos_red_neuronal.csv.regresion_anotado.png?direct|}} 
 + 
 +Para poner texto en una gráfica se usa el método [[https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.annotate.html|annotate]] y la librería [[https://github.com/Phlya/adjustText|adjustText - automatic label placement for matplotlib]] 
 + 
 + 
 +==== Ejercicio 3.A ==== 
 +Usando la función ''plot_metrics'' muestra las gráficas de las pérdidas por épocas de las siguientes redes neuronales para el DataFrame de las flores: 
 + 
 +^  Nº Neuronas en cada capa  ^ 
 +|  2,4,2,
 +|  4,8,4,
 +|  8,16,8,
 +|  4,8,4,2,
 +|  8,16,8,4,
 +|  16,32,16,8,
 +|  32,64,32,8,
 +|  64,128,64,8,
 +|  8,16,32,64,32,16,8,
 + 
 +Además: 
 +  * Deberás mostrar los 9 subplots en la  disposición de 9x1 (9 filas y 1 columna) 
 +  * El título de cada subplot será el nº de neuronas por capa 
 + 
 + 
 + 
 +==== Ejercicio 3.B ==== 
 +Siguiendo con el DataFrame anterior: 
 + 
 +  * Para las 4 columnas de las características de las flores y el tipo de flor, crea 5 nuevas columnas que se llamen igual pero con el prefijo ''normalizado_''. Esas 5 nuevas columnas tendrán los valores según la fórmula: 
 + 
 +$$ 
 +valor = \frac {X-min}{max-min} 
 +$$ 
 + 
 +  * Para las 4 columnas de las características de las flores y el tipo de flor, crea 5 nuevas columnas que se llamen igual pero con el prefijo ''standarizado_''. Esas 5 nuevas columnas tendrán los valores según la fórmula: 
 + 
 +$$ 
 +valor = \frac {X-media}{desviación} 
 +$$ 
 + 
 + 
 + 
 +==== Ejercicio 3.C ==== 
 +Usando la función ''plot_metrics'' muestra las gráficas de las pérdidas por épocas de las siguientes redes neuronales para el DataFrame de las flores: 
 + 
 +^  Nº Neuronas en cada capa  ^ 
 +|  2,4,2,
 +|  4,8,4,
 +|  8,16,8,
 +|  4,8,4,2,
 +|  8,16,8,4,
 +|  16,32,16,8,
 +|  32,64,32,8,
 +|  64,128,64,8,
 +|  8,16,32,64,32,16,8,
 + 
 +Pero para cada tipo de red ,deberás entrenarla 3 veces distintas y obtener resultado distintos con: 
 +    * Los datos originales 
 +    * Los datos normalizados 
 +    * Los datos estandarizados 
 + 
 +Además: 
 +  * Deberás mostrar los 9 subplots en la  disposición de 9x3 (9 filas y 3 columnas) 
 +    * En la primera columna se mostrarán el resultado de entrenar la red con los datos originales 
 +    * En la segunda columna se mostrarán el resultado de entrenar la red con los datos normalizados 
 +    * En la tercera columna se mostrarán el resultado de entrenar la red con los datos estandarizados 
 +  * El título de cada subplot: 
 +    * En la primera columna se mostrarán nº de neuronas por capa y el texto "originales" 
 +    * En la segunda columna se mostrarán nº de neuronas por capa y el texto "normalizados" 
 +    * En la tercera columna se mostrarán nº de neuronas por capa y el texto "estandarizados" 
 + 
 +¿Hay diferencias al usar los datos normalizados o estandarizado? ¿Cual es mejor y peor? ¿Las ventajas son las mismas independientemente de la red? 
  
  
clase/iabd/pia/1eval/tema05.1643730046.txt.gz · Última modificación: 2022/02/01 16:40 por admin