2022/07/25

S2 Preparando los Datos con Kaggle

PREPARANDO LOS DATOS CON KAGGLE

Descargar los datos que van a utilizar para poder poner a prueba las habilidades de limpieza de datos.

Para ello van a utilizar el cuaderno "limpiando datos con Python", lo van a abrir y aquí nos viene un pequeño enlace, este del conjunto de datos que van a utilizar, lo van a abrir.

Este es un data set disponible por la plataforma Kaggle que habla sobre los precios de las casas, en este Dan las propiedades de muchas casas y Da su precio de mercado o el precio tentativo.

Entonces para ello van a ir a "data" y van a ver un poco lo que nos ofrece.

se tiene dos columnas, por ejemplo, el tamaño del terreno en pies al cuadrado, se tiene el tipo de calle que está enfrente del terreno, se tiene, por ejemplo, el año en que fue construida, el tipo de techo.

Entonces vienen todas estas propiedades de las diferentes casas y al principio se tiene el costo de la casa.

Este es un costo hecho en dólares porque es una base de Estados Unidos, y este...

este conjunto de datos nos ofrece cuatro archivos, nos ofrece el train.csv, test.csv, data_description.csv.txt y samples_submission.csv.

Los que van a utilizar por el momento son train.csv y data_description, este porque tiene, de los dos archivos train y test, el conjunto más grande de datos, y data_description es una descripción de todas nuestras columnas.

Entonces, para descargarlo nos van a ir aquí abajito y aquí viene "download all".

Le van a dar clic y nos van a pedir que nos registremos si no esta registrados o que iniciemos sesión.

Nosotros ya esta registrados, entonces nada más Se inicia sesión.

Nos manda a una página nueva, aquí nada más recargamos, y ahora sí ya se puede descargar.

Digamos que aceptamos.

Le damos que aceptamos y otra vez volvemos a regresar y ahora sí le damos descargar, y nos descarga el archivo.

Al archivo que nos descargó le van a dar mostrar y lo se tiene aquí.

Lo descomprimimos.

Extraer, y ahora sí, se tiene els archivos que mencionaba en la página.

Ahora, le damos ctrl+c, o le damos clic derecho, copiar, y nos van a els...

nuestra libreta, que lo tengo en el escritorio, cuadernos y data.

Entonces, aquí lo van a pegar y listo, ya se tiene els datos.

Ya se tiene els datos listos para ser procesados, entonces van a iniciar con ello, van a importar Pandas y Numpy, ya se sabe cómo se hace: es import pandas as pd e import numpy as np, y van a leer el archivo.

Lo se tiene en nuestra carpeta data, house-prices-advanced-regression-techniques, diagonal train.csv, y le van a decir que la columna índice es la cero, lo se puede verificar en el archivo, lo van a abrir en excel, ok.

Nos abre todo el conjunto de datos, nuestra columna índice es la columna 0 y toda la demás es nuestra información, si se fijan es un archivo grande.

Entonces, van a cerrarlo y van a analizarlo con Pandas.

Primero, lo primero que hay que hacer es analizar la forma de este conjunto de datos, entonces para ello Se utiliza el .shape, .shape nos dice que tiene 1,460 registros y 80 columnas, entonces ya nos empezamos a dar la idea las proporciones de este conjunto de datos.

Entonces van a imprimirlo van a utilizar df.head y esto Da algunas de las columnas, esto para darnos una idea de cómo están formadas, entonces ya nos está dando un tipo de clase, una zona, una área del terreno, entonces nos empieza a dar todas estas columnas.

Entonces, lo que se puede hacer a partir de ahí, aparte analizarlas una por una, es empezar a describirlas.

Describirlas nos van a decir datos generales de el conjunto de datos.

se tiene el conteo la media, la desviación estándar, el valor mínimo, el valor...

el primer cuartil, el el segundo cuartil, el tercer cuartil y el valor máximo, ok.

Entonces con eso se puede empezar a entender un poquito más la información.

Aquí puede saltar a la vista que aquí dice 1,452 cuando todos los demás dicen 1,460.

Entonces ya nos empieza a dar algunas pistas.

Seguramente de valores faltantes en esta columna.

Entonces van a a...

entonces va a, a partir de ahí, a hacer el primer paso que hay que realizar, que es ver si hay elementos repetidos.

Para ello Pandas Da una función muy...

muy amigable la cual se llama drop_duplicates la cual nada más la se ejecuta Pandas van a buscar si hay registros que están repetidos y si los hay los van a eliminar.

Entonces, lo aplicamos y le van a dar .shape para ver cuántos registros quedan y quedan 1,460 con 80 columnas, o sea, el mismo tamaño.

Entonces, para este conjunto de datos en particular no hay...

no hay filas repetidas.

Bueno, lo segundo sería cómo empezamos a eliminar los valores faltantes porque el objetivo de la limpieza de datos es eliminar todos los elementos que no nos sirvan y los elementos faltantes.

¿Por qué? Porque esto nos puede traer problemas a la hora de modelar y tratar de hacer predicciones.

Entonces Pandas Da la función "Drop NA" que van a eliminar los valores no numéricos, es decir, todos los valores faltantes.

Entonces, lo se ejecuta y Da cero rows.

¿Por qué? Podríamos decir que nada más se quiere eliminar los datos faltantes.

Bueno, en realidad lo que pasa es que en este conjunto de datos en específico hay al menos un dato faltante por cada una de las casas, ese un problema si se trata de usar Drop NA porque simplemente nos van a tirar todas las casas y van a quedar un conjunto de datos tamaño 0, entonces es problemático, no lo se puede usar directamente.

Entonces, para ello van a hacer alguna técnica especial, que es, primero, determinar cuáles columnas tienen valores nulos, las van a hacer una suma de todos sus valores.

¿Por qué? porque si se ejecuta directamente, aquí lo voy a cortar.

Esto lo voy a cortar para imprimirlo, entonces si usamos df.isna nos van a dar una matriz con verdaderos y falsos.

Entonces, un True indica que es un valor que falta y False es un valor que ahí está.

Entonces, si nosotros hace la suma por columnas nos van a decir por cada columna cuántos valores faltan.

Esto lo voy a regresar como estaba, le voy a decir "para cada uno de los elementos que faltan súmalos por columnas y ordénalos", y eso lo van a multiplicar por 100 para sacar el porcentual.

Entonces, lo se imprime.

Esto nos van a decir que la columna PoolQC, ahorita no se sabe que es, van a averiguarlo más tarde, el 99% de sus rows tiene un valor nulo o faltante, entonces sólo por esa columna esta ordenando la mayoría de el conjunto de datos.

Entonces, van a eliminar todas las columnas que nos están dando problemas que son todas estas de aquí y ya nos liberamos de todo...

de cualquier problema.

Ahora...

entonces, van a usar drop na, pero ahora la diferencia es que van a usar eje igual a 1 (axis=1), el valor de default es eje igual a 0, que...

es decir, van a buscar a través de rows y con axis igual a uno van a buscar a través de columnas.

Lo hace, y ya Da sin ningún problema 1,460 rows, o sea, casas, y 61 características.

Entonces, ya eliminamos varias columnas y Da el conjunto de datos.

No hay comentarios:

Publicar un comentario

S4 Cierre

Cierre Semana 4 Muchos de los problemas actuales a los que se enfrenta un científico de datos involucran el manejo de grandes cantidades de ...