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 Última revisión Ambos lados, revisión siguiente | ||
clase:iabd:pia:1eval:tema05 [2022/01/23 18:36] admin [Gráficas con Seaborn] |
clase:iabd:pia:1eval:tema05 [2022/02/06 20:51] admin [Ejercicios] |
||
---|---|---|---|
Línea 84: | Línea 84: | ||
</ | </ | ||
- | * Cargar los datos des un fichero de texto llamado " | + | * Cargar los datos desde un fichero de texto llamado " |
<sxh python> | <sxh python> | ||
Línea 90: | Línea 90: | ||
</ | </ | ||
+ | |||
+ | < | ||
+ | Si al guardar los datos **NO** se añadió el parámetro '' | ||
+ | <sxh python> | ||
+ | df.to_csv(" | ||
+ | df=pd.read_csv(" | ||
+ | </ | ||
+ | |||
+ | </ | ||
* Cargar los datos desde una base de datos relacional | * Cargar los datos desde una base de datos relacional | ||
Línea 189: | Línea 198: | ||
<sxh base> | <sxh base> | ||
| | ||
- | count | + | count |
- | mean | + | mean |
- | std 5.049022 | + | std 5.209273 |
min | min | ||
- | 25% 0.506000 | + | 25% 0.512000 |
- | 50% 1.000000 | + | 50% 1.750000 |
- | 75% 4.500000 | + | 75% 5.250000 |
max 18.000000 | max 18.000000 | ||
</ | </ | ||
Línea 206: | Línea 215: | ||
<sxh base> | <sxh base> | ||
- | 150.7 | + | 157.42 |
</ | </ | ||
Línea 215: | Línea 224: | ||
</ | </ | ||
- | <sxh base> | + | <sxh base> |
- | 155.617601610597 | + | |
- | </ | + | * Suma de una columna |
+ | |||
+ | <sxh python> | ||
+ | df.precio.sum() | ||
+ | </ | ||
+ | |||
+ | <sxh base> | ||
+ | |||
+ | * Máximo de una columna | ||
+ | |||
+ | <sxh python> | ||
+ | df.precio.max() | ||
+ | </ | ||
+ | |||
+ | <sxh base> | ||
+ | |||
+ | * Mínimo de una columna | ||
+ | |||
+ | <sxh python> | ||
+ | df.precio.min() | ||
+ | </ | ||
+ | |||
+ | <sxh base> | ||
- | | + | * Correlación entre columnas |
<sxh python> | <sxh python> | ||
Línea 227: | Línea 258: | ||
<sxh base> | <sxh base> | ||
| | ||
- | capacidad | + | capacidad |
- | precio | + | precio |
</ | </ | ||
Línea 522: | Línea 553: | ||
===== Ejercicios ===== | ===== Ejercicios ===== | ||
+ | |||
+ | ==== Ejercicio 1.A ==== | ||
+ | Crea un DataDrame con los datos que proporciona '' | ||
+ | |||
+ | |||
+ | * Grábalo a disco y mira el fichero resultante. | ||
+ | * Ahora prueba a cargarlo | ||
+ | * Grábalo a disco con otro nombre pero ahora sin el parámetro '' | ||
+ | * Ahora prueba a cargarlo | ||
+ | * Muestra el nombre de las columnas y los tipos de datos de cada una de ellas. | ||
+ | * Imprime por pantalla "El nº de número de características es: NNNNN y el número de muestras es: NNNNNN" | ||
+ | * Imprime por pantalla las primeras filas | ||
+ | * Imprime por pantalla las últimas filas | ||
+ | * ¿Cuando ocupa en memoria el DataFrame? | ||
+ | |||
+ | ==== Ejercicio 1.B ==== | ||
+ | Siguiendo con el DataFrame anterior imprime por pantalla: | ||
+ | |||
+ | * El tamaño medio del ancho del pétalo | ||
+ | * La desviación del ancho del pétalo | ||
+ | * El máximo ancho del pétalo | ||
+ | * El mínimo ancho del pétalo | ||
+ | |||
+ | ==== Ejercicio 1.C ==== | ||
+ | Siguiendo con el DataFrame anterior: | ||
+ | |||
+ | * Imprime por pantalla el nombre de las columnas como un array | ||
+ | * Imprime por pantalla el nombre de la primera columna | ||
+ | * Imprime por pantalla el número de columnas que hay. | ||
+ | * Cambia el nombre de la columna " | ||
+ | * Mueve la columna " | ||
+ | * Inserta una nueva columna que sea el área del pétalo. Deberás insertarla antes de la última columna. | ||
+ | * Inserta una nueva columna que sea el área del sépalo. Deberás insertarla antes de la última columna. | ||
+ | |||
+ | |||
+ | ==== Ejercicio 1.D ==== | ||
+ | Siguiendo con el DataFrame anterior imprime por pantalla: | ||
+ | |||
+ | * El ancho del pétalo de las flores de tipo " | ||
+ | * El ancho del sépalo de las flores de tipo " | ||
+ | * Indica los tipos de flores que hay. | ||
+ | * Indica cuantos valores de la columna " | ||
+ | * Indicar cuantos valores del DataFrame son " | ||
+ | * ¿Como se borrarían aquellas filas que tienen algún datos que es null? | ||
+ | |||
+ | ==== Ejercicio 1.E ==== | ||
+ | Siguiendo con el DataFrame anterior y usando [[https:// | ||
+ | * Muestra un scatter plot del ancho del pétalo en el eje X y el ancho del sépalo en el eje Y según el tipo de flor. | ||
+ | * Muestra el gráfico KDE de la distribución del largo del pétalo y del largo del sépalo. | ||
+ | * 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 // | ||
+ | |||
+ | ==== Ejercicio 2.A ==== | ||
+ | Descarga el siguiente fichero {{ : | ||
+ | |||
+ | * 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 '' | ||
+ | * 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? | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== 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. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ==== 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: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Para poner texto en una gráfica se usa el método [[https:// | ||
+ | |||
+ | |||
+ | ==== Ejercicio 3.A ==== | ||
+ | Usando la función '' | ||
+ | |||
+ | ^ Nº Neuronas en cada capa ^ | ||
+ | | 2, | ||
+ | | 4, | ||
+ | | 8, | ||
+ | | 4, | ||
+ | | 8, | ||
+ | | 16, | ||
+ | | 32, | ||
+ | | 64, | ||
+ | | 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, crea 4 nuevas columnas que se llamen igual pero con el prefijo '' | ||
+ | |||
+ | $$ | ||
+ | valor = \frac {X-min}{max-min} | ||
+ | $$ | ||
+ | |||
+ | * Para las 4 columnas de las características de las flores, crea 4 nuevas columnas que se llamen igual pero con el prefijo '' | ||
+ | |||
+ | $$ | ||
+ | valor = \frac {X-media}{desviación} | ||
+ | $$ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Ejercicio 3.C ==== | ||
+ | Usando la función '' | ||
+ | |||
+ | ^ Nº Neuronas en cada capa ^ | ||
+ | | 2, | ||
+ | | 4, | ||
+ | | 8, | ||
+ | | 4, | ||
+ | | 8, | ||
+ | | 16, | ||
+ | | 32, | ||
+ | | 64, | ||
+ | | 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 " | ||
+ | * En la segunda columna se mostrarán nº de neuronas por capa y el texto " | ||
+ | * En la tercera columna se mostrarán nº de neuronas por capa y el texto " | ||
+ | |||
+ | ¿Hay diferencias al usar los datos normalizados o estandarizado? | ||
+ | |||