Logo Studenta

CRLS-TGJL-Práctica1

¡Este material tiene más páginas!

Vista previa del material en texto

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Minería de Datos
Grupo: 03 - Semestre: 2023-2
Práctica 1:
Análisis exploratorio de datos (EDA)
Fecha de entrega: 16/03/2023
Profesor:
Dr. Guillermo Gilberto Molero Castillo
Alumnos:
Cruz Rangel Leonardo Said
Téllez González Jorge Luis
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Resumen
En el siguiente reporte se aborda el análisis realizado a un conjunto de datos perteneciente al sector
inmobiliario de la ciudad deMelbourne, Australia. Debido al enorme proceso de urbanización que
ha sufrido a lo largo de los últimos años, la demanda inmobiliaria ha sufrido un aumento notable
en la ciudad. Por medio de los datos obtenidos dentro del contexto anterior se realiza un Análisis
Exploratorio de Datos para llegar a una serie de conclusiones sobre la situación presentada.
Introducción
El Análisis Exploratorio de Datos (EDA, Exploratory Data Analysis) tiene como objetivo
principal comprender y analizar los datos para descubrir patrones, tendencias, relaciones y
posibles anomalías.
Durante la fase de EDA se veri�ca la calidad de los datos, se detectan valores atípicos y datos
faltantes, y se seleccionan las variables relevantes para el modelo de minería de datos. Todo
esto para identi�car las técnicas de minería de datos más apropiadas para aplicar en el
conjunto de datos.
Figura 1. Proceso básico del EDA.
En esta práctica, se emplea el Análisis Exploratorio de Datos para analizar la tendencia
inmobiliaria en Melbourne, Australia. Debido al aumento de los precios de las unidades de
2 dormitorios en esta ciudad, se ha vuelto cada vez más difícil adquirir una a un precio
razonable. Por esta razón, resulta de gran interés encontrar información relevante que
permita predecir la próxima tendencia inmobiliaria enMelbourne.
Para realizar la actividad anterior, se proporciona un conjunto de datos proveniente
del sitio web Kaggle en formato csv el cual será leído empleando Python y la biblioteca
pandas para realizar manipulaciones en el mismo, entre otras bibliotecas de visualización.
2
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Figura 2. Fuente de los datos: https://www.kaggle.com/dansbecker/melbourne-housing-snapshot
Desarrollo
A partir de la información encontrada se puede de�nir el siguiente diccionario de datos, el
cual describe y de�ne los datos que se utilizarán para el EDA.
Figura 3. Diccionario de datos.
A continuación, se de�nen los pasos que se siguieron para llevar a cabo el Análisis
Exploratorio de Datos:
Paso 0: Importación de bibliotecas y datos.
En este paso se revisó la descripción y signi�cado de cada columna de la tabla.
3
https://www.kaggle.com/dansbecker/melbourne-housing-snapshot
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Paso 1: Descripción de la estructura de los datos.
a. Forma (dimensiones) del DataFrame
El atributo ‘shape’ de pandas se utiliza para obtener las dimensiones de un
DataFrame, devuelve una tupla de dos elementos que representan el número de �las
y columnas del objeto de datos. Esto es útil para entender la estructura de un
DataFrame y puede ser utilizado para realizar operaciones que requieren
conocimiento sobre el número de �las o columnas.
Output:
b. Tipos de datos
En Pandas, ‘dtypes’ se utiliza para obtener los tipos de datos de cada columna de un
DataFrame, devuelve un objeto ‘Series’ con el nombre de cada columna como índice
y el tipo de datos de esa columna como valor.
Output:
4
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Es importante destacar que el conjunto de datos contiene tanto variables numéricas
(�oat64) como categóricas (object), lo que implica la necesidad de aplicar distintas
técnicas de visualización de datos. En particular, las variables categóricas se suelen
representar mediante grá�cos de barras o diagramas de sectores, mientras que las
variables numéricas se representan a través de histogramas o grá�cos de dispersión.
Paso 2: Identi�cación de datos faltantes.
Detectar datos faltantes en un dataset es esencial, ya que la ausencia de información puede
tener un impacto signi�cativo en los resultados del análisis. Si los datos faltantes no se
detectan, los análisis pueden producir resultados incorrectos o engañosos, lo que puede
sesgar los resultados de manera negativa. Por lo tanto, es crucial detectar los datos faltantes
para reducir cualquier sesgo en los resultados obtenidos.
En Pandas se puede usar la función ‘isnull.sum( )’ para detectar la suma de todos los valores
nulos en cada variable.
Output:
5
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
También se puede usar ‘info( )’ para obtener el tipo de dato de cada columna, la cantidad de
valores no nulos y la cantidad de memoria utilizada por el DataFrame.
Output:
Después de identi�car la cantidad de valores nulos en un DataFrame, es importante tomar
medidas para manejarlos de manera efectiva. Las decisiones que se tomen dependerán del
tipo de datos y del análisis que se vaya a realizar.
Una de las opciones para manejar los valores nulos es la eliminación directa de las �las o
columnas que contienen datos faltantes, pero esto puede generar una reducción signi�cativa
en el tamaño del DataFrame y, por lo tanto, en la cantidad de información disponible para
el análisis. Es importante evaluar cuidadosamente el impacto de esta opción antes de tomar
una decisión.
Otra solución para manejar los valores nulos es completarlos con diferentes técnicas de
imputación, como el uso de la media, la mediana o la moda. Estas técnicas pueden ayudar a
reducir la cantidad de valores nulos, pero también pueden introducir ruido o sesgo en los
6
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
datos, especialmente si los valores faltantes representan una proporción signi�cativa del
conjunto de datos.
La toma de decisiones informadas para manejar los valores nulos de manera adecuada es una
responsabilidad compartida entre el analista de datos y las partes interesadas en el proyecto.
Es crucial considerar los impactos que esto pueda tener en el tamaño y calidad de los datos,
así como en la precisión del análisis. Más adelante explicaremos qué decisión tomamos
respecto a los datos faltantes y en qué fundamentamos nuestra elección.
Paso 3: Detección de valores atípicos.
Una forma de detectar valores atípicos es a través de la visualización de los datos y el análisis
estadístico, esto nos permite resumir los datos y tener una idea general de su distribución,
con distribución se hace referencia a cómo se comportan los valores en una variable o con
qué frecuencia ocurren. En el caso de las variables numéricas, la distribución se puede
observar mediante histogramas o grá�cos de densidad, los cuales permiten ver cuántas veces
aparecen grupos de números en una columna. Por otro lado, para las variables categóricas,
la distribución se puede observar a través de grá�cos de barras o diagramas de sectores, los
cuales muestran las clases de cada columna y su frecuencia.
a. Variables numéricas
Existen 3 formas en las que se pueden identi�car datos atípicos en variables
numéricas, a continuación se muestran cada una de ellas.
i. Distribución de variables numéricas
Se utilizarán histogramas para agrupar los números en rangos, en donde la altura
representa cuántos números caen en ese rango. En Pandas se emplea ‘hist( )’ con los
parámetros �gsize y xrot para trazar el histograma, aumentar el tamaño de la
cuadrículay rotar el eje x 45 grados respectivamente.
7
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Output:
Al observar las grá�cas podemos identi�car posibles valores atípicos y límites que no
tienen sentido. Por ejemplo, en BuildingArea, Landsize y Price existen valores
sesgados a la izquierda, y en el histograma de YearBuilt se aprecia un sesgo hacia la
derecha además de que uno de sus límites no parece tener sentido al comenzar en
1200.
ii. Resumen estadístico
Para obtener un resumen estadístico de las variables numéricas se usa la función
‘describe( )’ de Pandas.
8
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Output:
Dicho resumen incluye un recuento de la media, desviación, valor mínimo, valor
máximo y percentiles de 25%, 50% y 75%. Estos datos son útiles para con�rmar lo
visualizado en los histogramas, como que el valor mínimo en el año de construcción
de una propiedad es 1196, un dato que muy probablemente sea incorrecto.
iii. Diagramas de caja
Para este tipo de grá�cas se utiliza la biblioteca ‘Seaborn’.
Output:
9
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Mediante el uso de diagramas de caja, es posible identi�car de manera sencilla
aquellos valores que se encuentran por fuera del rango "común" de los valores, lo
que sugiere la presencia de valores atípicos o excepcionales en los datos.
b. Variables categóricas
Para las variables categóricas, utilizaremos grá�cos de barras para visualizar la
frecuencia de cada categoría y obtener una idea general de su distribución.
Posteriormente, complementaremos esta información con un análisis estadístico
adecuado para comprender mejor la relación entre las variables y poder extraer
conclusiones más precisas.
Output:
En esta tabla se muestra el recuento de los valores de cada variable, el número de
clases únicas, la clase más frecuente y con qué frecuencia ocurre esa clase en el
DataFrame. Una observación casi inmediata es que algunas variables tienen
demasiadas clases únicas, como Address, lo cual tiene sentido porque cada
propiedad tiene una dirección diferente.
10
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Por otro lado, existen variables que tienen menos de 10 clases únicas, lo que hace
necesario gra�car dichas variables para observar su comportamiento.
Para hacer las grá�cas de barras se utiliza ‘Seaborn’, donde cada barra representa una
clase. Se crea un For para el conteo y distribución de las clases, con la sentencia
select_dtypes(include = ‘object’) se selecciona las columnas categóricas con sus
valores y las muestra, además se incluye un if para elegir solo las columnas con 10 o
menos clases usando nunique( ) < 10.
Output:
De estas grá�cas podemos concluir que la mayoría de ellas son de tipo h (casa,
cabaña, villa, terraza), que son propiedades vendidas y que regularmente se
encuentra ubicada en SouthernMetropolitan.
Dado el análisis anterior, no se identi�caron variables categóricas atípicas.
11
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Paso 4: Identi�cación de relaciones entre pares de variables.
Una matriz de correlaciones es útil para analizar la relación o qué tan dependientes son unas
variables numéricas de otras. Para hacer esto se emplea la función ‘corr( )’.
Output:
Sin embargo, esta tabla es muy poco intuitiva y didáctica al momento de analizarla, por lo
que es mejor hacer un mapa de calor mediante la biblioteca ‘Seaborn’.
Output:
12
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
De esta forma es más fácil identi�car la correlación entre pares de variables. Una correlación
es un valor entre -1 y 1 que equivale a qué tan cerca se mueven simultáneamente los valores
de dos variables. Una correlación positiva signi�ca que a medida que una característica
aumenta, la otra también aumenta. Una correlación negativa signi�ca que a medida que
una característica disminuye, la otra también disminuye. Las correlaciones cercanas a 0
indican una relación débil, mientras que las más cercanas a -1 o 1 signi�can una relación
fuerte.
Del heatmap podemos identi�car sólo una correlación fuerte de interés, y esta ocurre entre
las variables Rooms y Bedroom2, lo cual es de esperarse por ser la misma variable de fuentes
diferentes.
Paso 5: Preparación de los datos.
Una vez identi�cados aquellos registros con valores atípicos e inconsistencias, a
continuación se realiza un proceso de limpieza de los datos, en donde se eliminarán por
completo aquellos registros que contengan valores nulos y, además, que contengan datos
incongruentes y que, en consecuencia, puedan añadir un sesgo que altere la información
obtenida a partir del análisis exploratorio.
A través de los pasos anteriores se identi�caron los siguientes registros con valores
nulos en el dataset:
13
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Figura 4. Conteo total de registros con valores nulos.
Adicionalmente, se presentaron 3 casos de inconsistencias en los datos de las
columnas Landsize, BuildingArea, Price y YearBuilt donde existen ciertos registros que
sobrepasan por mucho los valores de otros.
Figura 5. Valores inconsistentes re�ejados en los histogramas.
Con lo anterior en mente, se procede a iniciar la eliminación de los registros con
valores nulos utilizando el método dropna y delimitando un subconjunto de forma que se
eliminen aquellos registros que tengan un nulo en Car, BuildingArea, YearBuilt y
CouncilArea. Este procedimiento se realiza con el �n de quedarnos con registros lo más
completos posibles en todas las columnas del dataset. La opción any indica que, si en
cualquier registro se encuentra por lo menos un nulo en las columnas seleccionadas, se
descarte por completo el registro.
Figura 6. Eliminación de nulos en el dataset.
14
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Figura 7. Veri�cación de ausencia de nulos con isnull().sum().
Como se observa, de esta manera nuestro dataset queda depurado de aquellos
registros con datos faltantes. De este modo, el total de registros en el mismo se reduce a un
total de 6196 entradas. Hecho esto, ahora se realiza la depuración de los valores atípicos en
Landsize, BuildingArea, Car y YearBuilt como se observa a continuación.
Figura 8. Eliminación de elementos atípicos.
Para lograr lo anterior se requiere el uso de condicionales que especi�quen qué
valores se desean conservar en el dataset. En principio, se usa el método loc para seleccionar
y mantener aquellos registros con un valor menor a 1270.0 en Landsize, 2e6 en Price y
250.0 en BuildingArea. Para el caso del año, se muestra otra forma de realizar lo anterior
estableciendo una condición simple para los registros del conjunto de datos. Realizado lo
anterior, se comprueba que efectivamente se han eliminado esos registros anómalos y como
resultado tenemos diagramas de caja limpios y sin puntos aislados:
Figura 9. Diagramas de caja con los registros anómalos eliminados.
Es importante señalar que el enfoque considerado para la depuración consistió en
eliminar por completo aquellos valores aislados presentes en los diagramas de caja con el �n
15
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
de obtener losregistros más representativos del caso de estudio con el �n de que puedan
brindarnos un panorama general de las propiedades de la ciudad sin considerar propiedades
con características muy especí�cas que puedan alterar la percepción del mercado (como las
mansiones o terrenos).
Para los propósitos de la práctica, se considera que la depuración realizada es
adecuada, sin embargo, en un caso de uso real resultaría necesario consultar con el
proveedor de los datos si aquellos registros con valores extremos corresponden a la realidad y
se ajustan a las necesidades del proyecto realizado; veri�cando si existen restricciones
especí�cas que involucren a aquellos datos extremos.
Figura 10. Tamaño �nal del dataset.
Conclusiones
Por medio del análisis exploratorio de datos realizado es posible llegar a las siguientes
conclusiones con respecto al mercado inmobiliario de Melbourne empleando los datos
depurados previamente:
16
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
● Una propiedad media de Melbourne tiene aproximadamente 3 habitaciones, un
precio en promedio de 9,103,23.6 USD, una extensión de 354.48, una área de
121.59 y un año de construcción de 1964.
Figura 11. Descripción estadística de los datos depurados.
● La mayor cantidad de propiedades son del tipo h (casa, cabaña, villa, semi, terraza),
seguidas del tipo u (unidad, dúplex) y t (casa adosada). La mayor parte de ellas son
propiedades vendidas S y las mayores concentraciones se encuentran en las zonas
metropolitanas del norte, sur y el oeste de la ciudad.
Figura 12. Distribución de propiedades con base en su tipo,
● El análisis de correlaciones empleando un heatmap arroja una alta correlación entre
Rooms Y Bedroom2 (lo cual tiene sentido considerando que representan al mismo
valor pero de distinta fuente). Por otra parte, se encuentran dos correlaciones
medias-altas entre Rooms, Bedroom2 y BuildingArea (0.74 y 0.72). También se
encuentran dos correlaciones medias adicionales: entre BuildingArea y los valores
Price y Bathroom.
17
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Figura 13. Distribución de propiedades con base en su tipo,
La primera conclusión posible a obtener es que el área de construcción de las
propiedades guarda una relación relativamente alta con el número de habitaciones
presentes y en menor medida, los baños. Así mismo, el área de la construcción puede
determinar a un nivel moderado el precio �nal de la propiedad.
● Se detectaron 239 registros que cuentan con valores de precio superiores a 2,000,000
USD; los cuales fueron depurados del dataset �nal para obtener una muestra más
representativa de la mayor parte de propiedades de Melbourne. Sin embargo, existe
alta probabilidad de que estos valores sean reales; lo que podría indicar una
tendencia latente de in�ación desproporcionada de los precios del mercado
inmobiliario. Esto se encuentra acorde a la percepción general de que encontrar una
vivienda accesible se vuelve más complicado.
Figura 14. Detección de propiedades con precios demasiado in�ados.
18
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
● El problema central aborda especí�camente el caso de las viviendas de 2 dormitorios
por lo menos. Si usamos el método loc para seleccionar aquellos registros con 2 o
menos dormitorios y aplicamos una media sobre todos ellos, lo anterior arroja un
valor promedio de 674,547 USD; lo cual al cambio en moneda mexicana resulta en
un total de 12,378,207.27 MXN. Por tanto, resulta evidente que la premisa central
es cierta y el mercado inmobiliario de Melbourne se encuentra en una alza de precios
desmedida que impide a muchas personas adquirir una vivienda a un precio
razonable y acorde a sus ingresos (los cuales no crecen al mismo nivel que el de las
viviendas).
Figura 15. Precio promedio de una vivienda de 2 habitaciones.
Cruz Rangel Leonardo Said:
Una de las metodologías más ampliamente utilizadas en el ámbito del minado de datos es la
que se divide en seis etapas principales: análisis del problema, análisis de los datos,
preparación de los datos, modelado, evaluación e implementación. La adopción de una
metodología como esta tiene varios propósitos, siendo uno de los más importantes el de
mitigar el impacto de los principales problemas que pueden presentarse en la minería de
datos, como son la privacidad, la presencia de datos incompletos y la existencia de
información irrelevante.
Dentro de la etapa de análisis de datos, una herramienta fundamental es el Análisis
Exploratorio de Datos (EDA), que nos permite identi�car y eliminar datos faltantes e
irrelevantes del conjunto de datos con el que estemos trabajando. Esto contribuye
signi�cativamente a reducir el sesgo en los resultados obtenidos y a garantizar la calidad de
los mismos. Además, el EDA también puede ayudar a detectar patrones interesantes en los
datos, lo que puede resultar útil para la identi�cación de oportunidades de negocio o para la
toma de decisiones estratégicas.
19
Facultad de Ingeniería Minería de Datos_____________________________________________________________________________________________________________
Téllez González Jorge Luis: La experiencia obtenida con la práctica realizada nos ha
permitido aprender a generar inferencias a partir de la información presentada por medio de
grá�cas y análisis correlativos. Así mismo, se ha aprendido a identi�car valores atípicos y/o
nulos dentro de un dataset. Uno de los mayores aprendizajes obtenidos a través del
desarrollo de la práctica fue observar que, a través de un conjunto de datos que en primera
instancia no parece mostrar mucha información, con el debido procedimiento se puede
transformar en un cúmulo importante de información que permite comprender una
determinada situación con un cierto nivel de con�abilidad; en dependencia directa con la
calidad de los datos recopilados.
Con lo anterior, el equipo cuenta con las habilidades necesarias para poder realizar
análisis exploratorios por nuestra cuenta con el objetivo de iniciar el desarrollo de nuestro
caso de estudio para el curso y ha adquirido las habilidades necesarias para llevar a cabo un
análisis inicial de una situación presentada en un conjunto de datos para comprenderla y
obtener insights iniciales.
Referencias
Danb. (2018). Melbourne Housing Snapshot. Kaggle. Recuperado el 12 de marzo de 2023
desde: https://normas-apa.org/referencias/citar-pagina-web/
w3resource. (2022). Pandas DataFrame: dropna() function. Recuperado el 12 de marzo de
2023 desde: https://www.w3resource.com/pandas/dataframe/dataframe-dropna.php
NNK. (2022). Pandas loc[] Multiple Conditions. Recuperado el 12 de marzo de 2023
desde: https://sparkbyexamples.com/pandas/pandas-loc-multiple-conditions/
20
https://normas-apa.org/referencias/citar-pagina-web/
https://www.w3resource.com/pandas/dataframe/dataframe-dropna.php
https://sparkbyexamples.com/pandas/pandas-loc-multiple-conditions/

Continuar navegando