Analiza exploratorie a datelor

Machine Learning End-to-End

Joshua Stapleton

Machine Learning Engineer

Procesul EDA

  • Examinarea și analiza setului de date
  • Înțelegerea setului de date
  • Vizualizarea setului de date
  • Caracterizarea / clasificarea setului de date

Diagramă cu componentele EDA aplicate setului de date privind bolile cardiace

Machine Learning End-to-End

Înțelegerea datelor

df.head()

  • Afișează primele rânduri din set
  • Oferă o vedere de ansamblu asupra structurii
# Print the first 5 rows
print(heart_disease_df.head())

Primele 5 rânduri din DataFrame-ul bolilor cardiace. Rezultatul operației df.head().

df.info()

  • Rezumă caracteristicile
  • Afișează intrările non-nule și tipurile de caracteristici
# Print out details
print(heart_disease_df.info())

Informații sumare despre DataFrame-ul bolilor cardiace. Rezultatul operației df.info().

Machine Learning End-to-End

Dezechilibrul claselor

df.value_counts()

  • Numără aparițiile unice ale fiecărei clase
  • Clasă: prezența binară a bolii cardiace (1/0)
  • Important pentru modelare
# print the class balance
print(heart_disease_df['target'].value_counts(normalize=True))

Echilibrul claselor din coloana țintă a DataFrame-ului. Rezultatul operației .value_counts() pe coloana țintă.

Machine Learning End-to-End

Valori lipsă

  • Poate genera erori
  • Rezultate nereprezentative, distorsionate

Utilizați df.isnull()

  • Verifică valorile nule/goale/lipsă
  • Aplicat pe o coloană sau mai multe

Utilizare

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

Valori aberante

  • Valori anormale

    • Erori de măsurare
    • Erori de introducere a datelor
    • Evenimente rare
  • Pot distorsiona performanța modelului

    • Modelul învață pe baza valorilor extreme
    • Nu surprinde tendința generală
  • Uneori pot fi utile:

    • Valori rare
    • Detectare: boxplot sau IQR

O vizualizare care arată un outlier.

Machine Learning End-to-End

Vizualizarea datelor

Vizualizările arată:

  • Tendințe generale
  • Valori lipsă și aberante

Alte tipuri de vizualizări:

  • Estimarea densității kernel
  • Distribuții cumulative empirice
  • Distribuții bivariante
df['age'].plot(kind='hist')
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.show()

O vizualizare a distribuției vârstei în setul de date.

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

Obiectivele EDA

Înțelegerea datelor

  • Există tipare?
  • Ex: bărbații au o rată mai mare de boli cardiace?

Detectarea valorilor aberante

  • Există date în afara limitelor acceptabile?
  • Există valori incorecte sau lipsă?

Formularea ipotezelor

  • Ce ar trebui să așteptăm de la date?

Verificarea ipotezelor

  • Așteptările corespund realității?
Machine Learning End-to-End

Să exersăm!

Machine Learning End-to-End

Preparing Video For Download...