Exploratory Data Analysis (EDA)

Alvina Larasati Winarso

Sosial Media


0 orang menyukai ini
Suka

Summary

Program ini melakukan Exploratory Data Analysis (EDA) pada dataset heart. EDA adalah langkah awal dalam analisis data untuk memahami karakteristik dasar data seperti distribusi, outlier, dan hubungan antar variabel. Dataset heart adalah dataset yang umum digunakan dalam studi kasus kesehatan untuk memprediksi kehadiran penyakit jantung berdasarkan beberapa atribut pasien.

Description

Program ini melakukan Exploratory Data Analysis (EDA) pada dataset heart. EDA adalah langkah awal dalam analisis data untuk memahami karakteristik dasar data seperti distribusi, outlier, dan hubungan antar variabel. Dataset heart_dataset.csv adalah dataset yang umum digunakan dalam studi kasus kesehatan untuk memprediksi kehadiran penyakit jantung berdasarkan beberapa atribut pasien.

Berikut langkah-langkahnya:

  1. Melakukan import library

2. Memanggil dataset yang telah kita miliki

3. Melakukan pre-processing 

Melakukan pre-processing pada dataset df melalui beberapa langkah. Pertama, semua baris yang mengandung nilai hilang (NaN) dihapus menggunakan df.dropna(), memastikan bahwa data yang digunakan selanjutnya bersih dari nilai yang hilang. Selanjutnya, fitur 'age' dinormalisasi menggunakan skala min-max, di mana setiap nilai usia dikurangi dengan nilai minimum usia dan kemudian dibagi dengan selisih antara nilai maksimum dan minimum usia. Hal ini mengubah rentang nilai usia menjadi antara 0 dan 1, membantu dalam membuat fitur ini lebih cocok untuk algoritma pembelajaran mesin yang sensitif terhadap skala fitur. Terakhir, dataset dikurangi hanya pada fitur-fitur yang terpilih, yaitu 'age', 'sex', 'cp', 'chol', dan 'thalach', dengan tujuan memfokuskan analisis atau pemodelan pada subset fitur yang relevan. Hasilnya adalah dataset df_reduced yang siap untuk analisis atau pemodelan lebih lanjut dengan fitur-fitur yang telah dipilih dan diproses. kemudian disimpan kedalam dataset baru dengan nama ‘processed_heart_data.csv’

 

4. Memanggil kembali dataset baru

5. Melakukan korelasi fitur

Program di atas bertujuan untuk menghitung dan memvisualisasikan matriks korelasi antar fitur dalam dataset yang telah diproses (df_processed). Langkah pertama adalah menghitung matriks korelasi menggunakan metode corr() dari pandas, yang menghasilkan matriks berisi nilai korelasi antara semua pasangan fitur dalam dataset. Kemudian, matriks korelasi ini divisualisasikan menggunakan heatmap dari library seaborn.  Dalam heatmap, setiap sel merepresentasikan nilai korelasi antara dua fitur, dengan anotasi nilai korelasi yang ditampilkan di dalam sel. Skema warna 'coolwarm' digunakan untuk menggambarkan nilai korelasi, dengan warna yang lebih cerah menunjukkan korelasi positif yang kuat, warna lebih gelap menunjukkan korelasi negatif yang kuat, dan warna netral menunjukkan korelasi yang lemah atau tidak ada korelasi. Ketebalan garis antar sel ditentukan oleh linewidths=0.5, dan format nilai desimal diatur ke dua tempat desimal menggunakan fmt=".2f". Visualisasi ini memberikan gambaran yang jelas tentang hubungan antar fitur dalam dataset, membantu dalam mengidentifikasi fitur-fitur yang memiliki hubungan kuat satu sama lain yang dapat mempengaruhi analisis atau pemodelan lebih lanjut. 

 

6. Melakukan distribusi fitur

Memvisualisasikan distribusi dari fitur 'age' dalam dataset yang telah diproses (df_processed). Pertama, figure dengan ukuran 12x6 inch dibuat sebagai kanvas untuk plot. Kemudian, sns.histplot dari library seaborn digunakan untuk membuat histogram dari data usia (kolom 'age') dengan 20 bin. Histogram ini menampilkan frekuensi dari nilai-nilai usia yang ada dalam dataset. Selain itu, kernel density estimation (KDE) diaktifkan (kde=True) untuk menambahkan kurva estimasi kepadatan pada histogram, yang memberikan gambaran halus tentang distribusi usia.  Warna histogram ditetapkan menjadi 'skyblue' untuk memberikan visualisasi yang menarik. Judul plot diberi nama 'Distribution of Age', dan sumbu x dan y diberi label 'Age' dan 'Count' masing-masing. Hasil visualisasi ini menunjukkan bagaimana data usia tersebar dalam dataset, dengan informasi frekuensi usia pada sumbu y dan nilai usia pada sumbu x. Dari histogram ini, kita dapat mengidentifikasi pola distribusi usia, seperti apakah data usia terdistribusi secara normal, miring ke kiri atau ke kanan, atau memiliki beberapa puncak. Informasi ini sangat berguna dalam memahami karakteristik dataset sebelum melakukan analisis atau pemodelan lebih lanjut.

 

7. Melakukan anomali data

untuk mendeteksi anomali, khususnya outlier, dalam fitur 'age' dari dataset yang telah diproses (df_processed) menggunakan metode Interquartile Range (IQR). Pertama, program menghitung kuartil pertama (Q1) dan kuartil ketiga (Q3) dari kolom 'age'. Kemudian, nilai IQR dihitung sebagai selisih antara Q3 dan Q1. Outlier didefinisikan sebagai data yang berada di bawah  Q1 − 1.5 × I Q R Q1−1.5×IQR atau di atas  Q 3 + 1.5 × I Q R Q3+1.5×IQR. Program selanjutnya memfilter data yang memenuhi kriteria tersebut untuk mendeteksi outlier.  Hasil dari program ini menunjukkan jumlah outlier yang ditemukan dalam fitur 'age'. Dengan menjalankan perintah print("Number of outliers:", outliers.shape[0]), jumlah outlier yang terdeteksi akan dicetak. Hasilnya menunjukkan "Number of outliers: 0", berarti tidak ada sampel data dalam kolom 'age' yang dianggap sebagai outlier berdasarkan metode IQR. Deteksi outlier seperti ini penting untuk analisis data lebih lanjut, karena outlier dapat mempengaruhi hasil analisis dan performa model prediktif.


 

Informasi Course Terkait
  Kategori: Algoritma dan Pemrograman
  Course: Data Science SIB Batch 6