Análisis exploratorio de datos

Machine Learning de extremo a extremo

Joshua Stapleton

Machine Learning Engineer

Proceso de EDA

  • Examinar y analizar el dataset
  • Entender el dataset
  • Visualizar el dataset
  • Caracterizar / clasificar el dataset

Un diagrama con varios componentes del EDA aplicado al dataset de cardiopatías de pacientes

Machine Learning de extremo a extremo

Entender los datos

df.head()

  • Muestra las primeras filas
  • Ofrece una vista rápida de la estructura
# Print the first 5 rows
print(heart_disease_df.head())

Las primeras 5 filas de nuestro DataFrame de cardiopatías. Resultado de llamar a df.head().

df.info()

  • Resume las features
  • Muestra entradas no nulas y tipos
# Print out details
print(heart_disease_df.info())

Información resumida de nuestro DataFrame de cardiopatías. Resultado de llamar a df.info().

Machine Learning de extremo a extremo

(Des)balance de clases

df.value_counts()

  • Cuenta ocurrencias únicas por clase
  • Clase: presencia binaria de cardiopatía (1/0)
  • Importante para modelado
# print the class balance
print(heart_disease_df['target'].value_counts(normalize=True))

El balance de clases de la columna target de nuestro DataFrame de cardiopatías. Resultado de .value_counts() sobre target.

Machine Learning de extremo a extremo

Valores faltantes

  • Puede causar errores
  • Resultados no representativos o sesgados

Usa df.isnull()

  • Revisa valores nulos/vacíos/faltantes
  • Aplica a una columna o conjunto de columnas

Uso

# check whether all values in a column are null
print(heart_disease_df['oldpeak'].isnull().all())
True
Machine Learning de extremo a extremo

Valores atípicos

  • Valores anómalos

    • Errores de medición
    • Errores de registro
    • Eventos raros
  • Pueden sesgar el modelo

    • Aprende por valores extremos
    • No capta la tendencia general
  • A veces útiles:

    • Valores raros
    • Detección: usa boxplot o IQR

Una visualización que muestra un valor atípico.

Machine Learning de extremo a extremo

Visualizar los datos

Las visualizaciones muestran:

  • Tendencias generales
  • Valores faltantes y atípicos

Otros tipos:

  • Estimación de densidad por kernel
  • Distribuciones acumuladas empíricas
  • Distribuciones bivariantes
df['age'].plot(kind='hist')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()

Una visualización que muestra la distribución de la edad en nuestro conjunto de datos.

1 https://seaborn.pydata.org/tutorial/distributions.html, https://app.datacamp.com/learn/courses/intermediate-data-visualization-with-seaborn
Machine Learning de extremo a extremo

Objetivos del EDA

Entender los datos

  • ¿Hay patrones?
  • Ej.: ¿los hombres tienen más cardiopatía?

Detectar atípicos

  • ¿Algún dato fuera de lo aceptable?
  • ¿Valores incorrectos o faltantes?

Formular hipótesis

  • ¿Qué esperamos de los datos?

Comprobar supuestos

  • ¿Lo esperado coincide con la realidad?
Machine Learning de extremo a extremo

¡Vamos a practicar!

Machine Learning de extremo a extremo

Preparing Video For Download...