Considerații pentru date categoriale

Analiza exploratorie a datelor în Python

George Boorman

Curriculum Manager, DataCamp

De ce se realizează EDA?

  • Detectarea tiparelor și relațiilor

 

 

  • Generarea de întrebări sau ipoteze

 

 

  • Pregătirea datelor pentru machine learning

Semn de întrebare în lumină neon roșie

1 Image credit: https://unsplash.com/@simonesecci
Analiza exploratorie a datelor în Python

Date reprezentative

  • Eșantionul reprezintă populația

De exemplu:

  • Educație versus venit în SUA
    • Nu se pot folosi date din Franța

Steagul SUA

Steagul Franței

1 Image credits: https://unsplash.com/@cristina_glebova; https://unsplash.com/@nimbus_vulpis
Analiza exploratorie a datelor în Python

Clase categoriale

  • Clase = etichete

 

  • Atitudinea persoanelor față de căsătorie
    • Stare civilă
      • Necăsătorit
      • Căsătorit
      • Divorțat
Analiza exploratorie a datelor în Python

Dezechilibru de clase

grafic de bare cu numărul de statusuri maritale într-un eșantion - 700 divorțați, 250 necăsătoriți și 50 căsătoriți

Analiza exploratorie a datelor în Python

Frecvența claselor

print(planes["Destination"].value_counts())
Cochin       4391
Banglore     2773
Delhi        1219
New Delhi     888
Hyderabad     673
Kolkata       369
Name: Destination, dtype: int64
Analiza exploratorie a datelor în Python

Frecvența relativă a claselor

  • 40% din zborurile interne indiene au ca destinație 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
  • Eșantionul este reprezentativ pentru populație (zboruri interne indiene)?
Analiza exploratorie a datelor în Python

Tabel încrucișat

Apelați pd.crosstab

pd.crosstab(
Analiza exploratorie a datelor în Python

Selectați indexul

Selectați coloana pentru index

pd.crosstab(planes["Source"],
Analiza exploratorie a datelor în Python

Selectați coloanele

Selectați coloana

pd.crosstab(planes["Source"], planes["Destination"])
Analiza exploratorie a datelor în Python

Tabel încrucișat

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
Analiza exploratorie a datelor în Python

Extinderea tabelului încrucișat

Source Destination Median Price (IDR)
Banglore Delhi 4232.21
Banglore New Delhi 12114.56
Chennai Kolkata 3859.76
Delhi Cochin 9987.63
Kolkata Banglore 9654.21
Mumbai Hyderabad 3431.97
Analiza exploratorie a datelor în Python

Valori agregate cu 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
Analiza exploratorie a datelor în Python

Compararea eșantionului cu populația

Source Destination Median Price (IDR) Median Price (dataset)
Banglore Delhi 4232.21 4823.0
Banglore New Delhi 12114.56 10976.50
Chennai Kolkata 3859.76 3850.0
Delhi Cochin 9987.63 10260.0
Kolkata Banglore 9654.21 9345.0
Mumbai Hyderabad 3431.97 3342.0
Analiza exploratorie a datelor în Python

Să exersăm!

Analiza exploratorie a datelor în Python

Preparing Video For Download...