Consideraciones para datos categóricos

Análisis exploratorio de datos en Python

George Boorman

Curriculum Manager, DataCamp

¿Por qué realizar un EDA?

  • Detectar patrones y relaciones

 

 

  • Generar preguntas o hipótesis

 

 

  • Preparar datos para el machine learning

Signo de interrogación en un letrero de neón rojo

1 Crédito de la imagen: https://unsplash.com/@simonesecci
Análisis exploratorio de datos en Python

Datos representativos

  • La muestra representa a la población

Por ejemplo:

  • Educación frente a ingresos en EE. UU.
    • No puedes utilizar datos de Francia

Bandera de EE. UU.

Bandera de Francia

1 Créditos de la imagen: https://unsplash.com/@cristina_glebova; https://unsplash.com/@nimbus_vulpis
Análisis exploratorio de datos en Python

Clases categóricas

  • Clases = etiquetas

 

  • Encuesta sobre la actitud de la gente hacia el matrimonio
    • Estado civil
      • Soltero
      • Casado
      • Divorciado
Análisis exploratorio de datos en Python

Desequilibrio de clases

Gráfico de barras que muestra el recuento de estados civiles en una muestra: 700 divorciados, 250 solteros y 50 casados

Análisis exploratorio de datos en Python

Frecuencia de las clases

print(planes["Destination"].value_counts())
Cochin       4391
Banglore     2773
Delhi        1219
New Delhi     888
Hyderabad     673
Kolkata       369
Name: Destination, dtype: int64
Análisis exploratorio de datos en Python

Frecuencia relativa de clases

  • El 40 % de los vuelos internos de la India tienen como destino Delhi.
planes["Destination"].value_counts(normalize=True)
Cochin       0.425773
Banglore     0.268884
Delhi        0.118200
New Delhi    0.086105
Hyderabad    0.065257
Kolkata      0.035780
Name: Destination, dtype: float64
  • ¿Es nuestra muestra representativa de la población (vuelos internos en la India)?
Análisis exploratorio de datos en Python

Tabulación cruzada

Llama a pd-punto-crosstab

pd.crosstab(
Análisis exploratorio de datos en Python

Seleccionar índice

Selecciona la columna que se utilizará como índice.

pd.crosstab(planes["Source"],
Análisis exploratorio de datos en Python

Seleccionar columnas

Selecciona la columna

pd.crosstab(planes["Source"], planes["Destination"])
Análisis exploratorio de datos en Python

Tabulación cruzada

Destination  Banglore  Cochin  Delhi  Hyderabad  Kolkata  New Delhi
Source                                                             
Banglore            0       0   1199          0        0        868
Chennai             0       0      0          0      364          0
Delhi               0    4318      0          0        0          0
Kolkata          2720       0      0          0        0          0
Mumbai              0       0      0        662        0          0
Análisis exploratorio de datos en Python

Ampliar el cruce de datos

Source Destination Median Price (IDR)
Bangalore Delhi 4232,21
Bangalore Nueva Delhi 12 114,56
Chennai Kolkata 3859,76
Delhi Cochin 9987,63
Kolkata Bangalore 9654,21
Mumbai Hyderabad 3431,97
Análisis exploratorio de datos en Python

Valores agregados con pd.crosstab()

pd.crosstab(planes["Source"], planes["Destination"],

values=planes["Price"], aggfunc="median")
Destination  Banglore   Cochin   Delhi  Hyderabad  Kolkata  New Delhi
Source                                                               
Banglore          NaN      NaN  4823.0        NaN      NaN    10976.5
Chennai           NaN      NaN     NaN        NaN   3850.0        NaN
Delhi             NaN  10262.0     NaN        NaN      NaN        NaN
Kolkata        9345.0      NaN     NaN        NaN      NaN        NaN
Mumbai            NaN      NaN     NaN     3342.0      NaN        NaN
Análisis exploratorio de datos en Python

Comparar la muestra con la población

Source Destination Median Price (IDR) Median Price (dataset)
Bangalore Delhi 4232,21 4823,0
Bangalore Nueva Delhi 12 114,56 10 976,50
Chennai Kolkata 3859,76 3850,0
Delhi Cochin 9987,63 10 260,0
Kolkata Bangalore 9654,21 9345,0
Mumbai Hyderabad 3431,97 3342,0
Análisis exploratorio de datos en Python

¡Vamos a practicar!

Análisis exploratorio de datos en Python

Preparing Video For Download...