Exploratory Data Analysis

Strojové učení od začátku do konce

Joshua Stapleton

Machine Learning Engineer

Proces EDA

  • Prozkoumání a analýza datové sady
  • Porozumění datové sadě
  • Vizualizace datové sady
  • Charakterizace / klasifikace datové sady

Diagram znázorňující různé komponenty EDA aplikované na datovou sadu srdečních onemocnění pacientů

Strojové učení od začátku do konce

Porozumění datům

df.head()

  • Zobrazí první řádky datové sady
  • Poskytne přehled struktury dat
# Print the first 5 rows
print(heart_disease_df.head())

Prvních 5 řádků DataFrame srdečních onemocnění. Výsledek volání operace df.head().

df.info()

  • Shrne příznaky
  • Zobrazí nenulové záznamy a typy příznaků
# Print out details
print(heart_disease_df.info())

Souhrnné informace o DataFrame srdečních onemocnění. Výsledek volání operace df.info().

Strojové učení od začátku do konce

Nevyváženost tříd

df.value_counts()

  • Spočítá počet výskytů každé třídy
  • Třída: binární přítomnost srdečního onemocnění (1/0)
  • Důležité pro modelování
# print the class balance
print(heart_disease_df['target'].value_counts(normalize=True))

Rozložení tříd ve sloupci target DataFrame srdečních onemocnění. Výsledek volání operace .value_counts() na sloupci target.

Strojové učení od začátku do konce

Chybějící hodnoty

  • Může vést k chybám
  • Nereprezentatativní, zkreslené výsledky

Použijte df.isnull()

  • Kontroluje nulové/prázdné/chybějící hodnoty
  • Aplikuje se na sloupec nebo skupinu sloupců

Použití

# check whether all values in a column are null
print(heart_disease_df['oldpeak'].isnull().all())
True
Strojové učení od začátku do konce

Odlehlé hodnoty

  • Anomální hodnoty

    • Chyby měření
    • Chyby při zadávání dat
    • Vzácné události
  • Mohou zkreslit výkon modelu

    • Model se učí na základě extrémních hodnot
    • Nezachycuje obecný trend dat
  • Někdy mohou být užitečné:

    • Vzácné hodnoty
    • Detekce: krabicový diagram nebo IQR

Vizualizace zobrazující odlehlou hodnotu.

Strojové učení od začátku do konce

Vizualizace dat

Vizualizace zobrazují:

  • Obecné trendy
  • Chybějící hodnoty a odlehlé hodnoty

Další typy vizualizací:

  • Odhad hustoty jádra
  • Empirická kumulativní rozdělení
  • Bivariátní rozdělení
df['age'].plot(kind='hist')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()

Vizualizace zobrazující rozdělení věku v datové sadě.

1 https://seaborn.pydata.org/tutorial/distributions.html, https://app.datacamp.com/learn/courses/intermediate-data-visualization-with-seaborn
Strojové učení od začátku do konce

Cíle EDA

Porozumět datům

  • Existují nějaké vzory?
  • Např.: mají muži vyšší výskyt srdečních onemocnění?

Detekovat odlehlé hodnoty

  • Leží některá data mimo přijatelný rozsah?
  • Jsou přítomny nesprávné nebo chybějící hodnoty?

Formulovat hypotézy

  • Co lze od dat očekávat?

Ověřit předpoklady

  • Odpovídá realita našim očekáváním?
Strojové učení od začátku do konce

Pojďme si procvičit!

Strojové učení od začátku do konce

Preparing Video For Download...