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/01/30 21:11]
admin [Ejercicios]
clase:iabd:pia:1eval:tema05 [2022/02/06 21:02] (actual)
admin [Ejercicios]
Línea 84: Línea 84:
 </sxh> </sxh>
  
-  * Cargar los datos des un fichero de texto llamado "datos.csv" cuyo separador es una coma.+  * Cargar los datos desde un fichero de texto llamado "datos.csv" cuyo separador es una coma.
  
 <sxh python> <sxh python>
Línea 90: Línea 90:
 </sxh> </sxh>
  
 +
 +<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''
 +<sxh python>
 +df.to_csv("datos.csv")
 +df=pd.read_csv("datos.csv",index_col=0)
 +</sxh>
 +
 +</note>
  
   * Cargar los datos desde una base de datos relacional   * Cargar los datos desde una base de datos relacional
Línea 595: Línea 604:
   * Muestra el gráfico KDE de la distribución del largo del pétalo y del largo del sépalo pero separado por el tipo de flor.   * Muestra el gráfico KDE de la distribución del largo del pétalo y del largo del sépalo pero separado por el tipo de flor.
   * Muestra un //pairplot//   * Muestra un //pairplot//
 +
 +==== Ejercicio 2.A ====
 +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.1643573473.txt.gz · Última modificación: 2022/01/30 21:11 por admin