Exploratory Data Analysis (EDA)

mf.humam
7 min readApr 14, 2024

Pertemuan 5 & 6 -Data Science AMCC2024

Halo sobat data🫡, apakabar kalian semua? semoga dimanapun kalian berada selalu dimudahkan segala urusannya ya… apakah kalian sudah mulai terbisa membaca sebuah data set? …hmm… kalian jawab sendiri dulu dehh hehe😌, karena kita akan melanjutkan ke materi selanjutnya yaitu EDA. Lets Go!!

Apa itu EDA?

Exploratory Data Analysis (EDA) adalah bagian proses data science. EDA menjadi tahap awal yang penting. Tujuannya adalah untuk memahami karakteristik utama dari kumpulan data. Berikut beberapa hal yang dilakukan EDA :

  1. Menyimpulkan karekteristik data.
  2. Membuat visualisasi data.

EDA dilakukan sebelum masuk ke tahap pemodelan atau pengujuan hipotesis.

gambar: 4. Exploratory Data Analysis

Tentang EDA,

Dalam prakteknya , pemahaman konteks data perlu diperhatikan, karena akan menjawab masalah masalah besar.

→ Pada umumnya EDA dilakukan dengan beberapa cara,

  • Univariat Analysis- analisis deskriptif dengan satu variabel.
  • Bivariat Analysis- analisis relasi dengan dua variabel yang biasanya dengan target variabel.
  • Multivariat Analysis — analisis yang menggunakan lebih dari atau sama dengan tiga variabel.

Tahapan EDA,

  1. Memahami Data → Memahami Konteks, Memeriksa Struktur Data, Menentukan Pernyataan Penelitian.
  2. Statistika Deskriptif → Menganalisis statistika dasar, Menganalisis Distribusi Data, Menemukan Outliers.
  3. Visualisasi Data → Membuat visualisasi data berdasarkan tujuan analisis
  4. Menemukan Pola dan Anomali → Mencari pola, Menemukan Anomali, Mempelajari Outlier.
  5. Menarik Kesimpulan → Menarik Kesimpulan, Membuat hipotesis, Merancang langkah selanjutnya.

Observasi,

→ Observasi dalam EDA adalah langkah awal yang pentih dalam memahami karakteristik adat sebelum melakukan analisis lebih lanjut. Hal ini dilakukan dengan tujuan mengenali jenis data, mengidentifikasi nilai-nilai ekstrim, dan memahami pola-pola umum dalam dataset.

Melakukan observasi data dapat membantu kita untuk memahami karakteristik data secara lebih baik dan memberikan informasi penting dalam pengambilan keputusan.

Beberapa hal yang perlu diperhatikan dalam melakukan observasi data meliputi:

Jenis Data: Melihat tipe data variabel, apakah variabel tersebut bersifat numerik atau kategorikal.

Rentang Nilai Variabel: Melihat rentang nilai dari setiap variabel numerik dalam dataset.

Distribusi Data: Melihat distribusi data dalam setiap variabel numerik, seperti apakah distribusi tersebut normal, skewed atau bimodal.

Nilai-nilai Ekstrim: Melihat nilai-nilai yang ekstrim, seperti outlier dan missing value dalam dataset.

Korelasi,

Salah satu teknik yang dapat digunakan untuk menemukan pola dalam sebuah data adalah dengan menghitung korelasi dari variabel(feature).

Korelasi adalah teknik yang digunakan untuk mengukur hubungan antara dua variabel dalam sebuah dataset. Hal ini dapat membantu analis untuk memahami hubungan antara variabel-variabel tersebut dan memperoleh wawasan tentang bagaiman variabel-variabel tersebut mempengaruhi satu sama lain.

Di Python, kita apat menghitung korelasi antara dua variabel menggunakan library Numpy atau Pandas. Korelasi dapat dihitung menggunakan koefisien korelasi Pearson, Spearman, atau Kendall.

Uji Pearson Product Moment,

Uji Person Product Moment adalah satu dari beberapa jenis uji korelasi yang digunakan untuk mengetahui derajat keeratan hubungan 2 variabel yang berskala interval atau rasio, dimana dengan uji ini akan mengembalikan nilai koefisen korelasi yang nilainya berkisar antara -1, 0, dan 1. Nilai -1 artinya terdapat korelasi negatif yamg sempurna, 0 artinya tidak ada korelasi, dan nilai 1 berarti ada korelasi positif yang sempurna.

Tabel: nilai korelasi.

Rumus Korelasi Product Moment,

sumber: https://heriyantolim.wordpress.com/2017/07/14/276/
sumber: https://heriyantolim.wordpress.com/2017/07/14/276/

Visualisasi Korelasi Heatmap,

sumber: google collaboratory pertemuan 5

Preprocessing Data,

Prepocessing data adalah tahap penting dalam EDA (Exploratory Data Analysis). Tujuannya adalah untuk mempersiapkan data mentah sebelum dianalisis dan membuatnya lebih siap untuk diinterpretasikan. Preprocessing data melibatkan beberapa teknik seperti membersihkan data, menghilangkan noise, mengisi data yang hilang, dan mengubah format data.

Teknik preprocessing data ini dapat membantu analis dalam mempersiapkan data sebelum dilakukan analisis secara lebih mendalam dan detail. Dengan menggunakan teknik preprocessing data yang tepat, data dapat dipersiapkan dengan lebih baik, sehingga hasil analisis dapat lebih akurat dan interpretasinya dapat lebih mudah dipahami.

image: Steps for data preprocessing

Removing duplicates,

  1. Discovering Duplicates → Baris duplikat adalah baris yang telah didaftarkan lebih dari satu kali.Untuk menemukan duplikat, kita bisa menggunakan duplicated() metode.duplicated() mengembalikan nilai boolean untuk setiap baris.
  2. Removing Duplicates → Untuk menghapus duplikat, gunakan drop_duplicateds().

Cleaning Empty Cell,

  • Empty Cell

→ Sel kosong berpotensi memberikan hasil yang salah saat kita menganalisis data.

  • Remove Rows

→Salah satu cara mengatasi sel kosong adalah dengan menghilangkan baris yang berisi sel kosong.

Penting!

Secara dasar, dropna() metode ini mengembalikan DataFrame baru, dan tidak akan mengubah yang asli. Jika kita ingin mengubah DataFrame asli, gunakan inplace() = True argument .

Penting!

dropna(inplace = True) TIDAK akan mengembalikan DataFrame baru, tetapi akan menghapus semua baris yang berisi nilai NULL dari DataFrame asli.

import pandas as pd
df = pd.read_csv('data.csv')
df.dropna(inplace = True)
print(df.to_string())

Data Frame Isnull,

→ Metode ini isnull() mengembalikan objek DataFrame yang semua nilainya diganti dengan nilai Boolean True untuk nilai NULL, dan sebaliknya False.

import pandas as pd
df = pd.read_csv('data.csv')
newdf = df.isnull()

Penanganan Missing Value,

  • Penghapusan Data: Menghilangkan baris atau kolom yang mengandung missing values. Pendekatan ini dapat efektif jika jumlah missing values relatif kecil dan penghapusan tidak merusak signifikansi data.
  • Imputasi Data: Menggantikan missing values dengan nilai rata-rata atau median dari variabel terkait. Metode ini sederhana namun dapat efektif jika distribusi data tidak terlalu condong. Kemudian menggunakan metode interpolasi (memprediksi nilai yang hilang berdasarkan nilai yang diamati) atau ekstrapolasi (memprediksi nilai yang hilang berdasarkan tren yang ada).
  • Model Berbasis Imputasi: Menggunakan model machine learning seperti regresi atau algoritma pembelajaran mesin lainnya untuk memprediksi nilai yang hilang berdasarkan atribut lain dalam dataset.
  • Penanganan Domain-Specific: Dalam beberapa kasus, nilai tetap atau kategori khusus dapat diberikan kepada missing values berdasarkan pengetahuan domain khusus.

Outliers,

→ Outlier adalah nilai yang menyimpang dari nilai data data yang lain. Outliners dapat mengganggu nilai ukuran pemusatan dan penyebaran sehingga menjadi bias dan tidak representatif.

Pengaruh Outliers pada Data,

→ Outlier dapat menyebabkan analisis yang tidak akurat atau tidak representatif karena mereka dapat mempengaruhi nilai rata-rata, standar deviasi, dan analisis lain yang didasarkan pada data keseluruhan.

gambar: pengaruh outliers

Cara Mendeteksi Outliers,

  1. Mendapatkan nilai statistika lima serangkai,
  • Minimum: Nilai terkecil dalam set data.
  • Kuartil Pertama (Q1): Nilai yang membagi data menjadi dua bagian, di mana 25% data bernilai lebih kecil dari nilai Q1 dan 75% bernilai lebih besar dari nilai Q1.
  • Median: Nilai tengah dalam set data. Setengah data bernilai lebih kecil dari median dan setengah data lagi bernilai lebih besar dari median.
  • Kuartil Ketiga (Q3): Nilai yang membagi data menjadi dua bagian, di mana 75% data bernilai lebih kecil dari nilai Q3 dan 25% bernilai lebih besar dari nilai Q3.
  • Maksimum: Nilai terbesar dalam set data. Kelima nilai statistik tersebut dapat digunakan untuk membuat boxplot dan melihat outlier.

2. Melihat Boxplot,

gambar: box plot

3. Melihat bentuk distribusi data melalui histogram. Melihat nilai skewness atau derajat ketimpangan distribusi data,

gambar: histogram

Cara Mendeteksi Outliners,

  1. Metode Z-score

Metode Z-score dapat digunakan untuk menghitung seberapa jauh setiap data dari rata-rata dengan membagi selisih antara data dan rata-rata dengan standar deviasi. Jika nilai Z-score lebih besar dari 3 atau lebih kecil dari -3, maka data dianggap sebagai outlier.

2. Metode Interquartile range (IQR)

Metode IQR adalah perbedaanantara kuartil atas dan kuartil bawah dalam satu set data. Datadianggap sebagai outlier jika jauh dari nilai kuartil atas atau kuartil bawah lebih dari 1,5 kali IQR.

Cara Mengatasi Outlners,

  1. Identifikasi Outlier

Hal ini dapat dilakukan dengan cara visualisasi data menggunakan boxplot atau histogram, serta penggunaan metode statistik seperti z-score atau metode quartile range.

2. Menghapus Outliers

Salah satu cara untuk mengatasi outlier adalah dengan menghapus data yang dianggap sebagai outlier. Namun, penghapusan data harus dilakukan dengan hati-hati dan dengan mempertimbangkan dampaknya terhadap analisis data. Jika jumlah outlier tidak signifikan, maka penghapusan dapat dilakukan.

3. Transformasi Data

Transformasi data dapat dilakukan untuk mengatasi outlier, misalnya dengan transformasi logaritmik atau transformasi kuadratik. Transformasi data dapat membantu untuk mengurangi dampak dari outlier pada analisis data.

4. Imputasi Data

Jika outlier dianggap sebagai data yang valid dan tidak boleh dihapus, maka imputasi data dapat dilakukan. Imputasi data adalah proses mengganti nilai outlier dengan nilai yang dianggap wajar atau masuk akal berdasarkan kriteria tertentu.

5. Gunakan Metode Statistik yang Tahan Outlier:

Metode statistik yang tahan outlier, seperti median dan interquartile range, dapat digunakan untuk mengurangi dampak dari outlier pada analisis data. Metode ini lebih tahan terhadap outlier daripada metode statistik lainnya seperti mean dan standar deviasi.

IQR = Q3 — Q1 batas bawah = Q1–1.5 * IQR batas atas = Q3–1.5 * IQR

Filtering Data,

filtering adalah proses selektif dalam memilih, menyaring, atau memodifikasi dataset. Umumnya, hal ini digunakan untuk memenuhi tujuan analisis atau pemodelan tertentu

Filtering Data digunakan untuk memisahkan data relevan dan penting dengan yang tidak memenuhi kebutuhan. Beberapa kriteria atau aturan filtering ini mencakup:

  • Nilai numerik yang dianggap valid atau relevan.
  • Kategori atau label tertentu yang diperlukan untuk analisis.
  • Pola atau kondisi spesifik yang harus dipenuhi oleh data.

Secara keseluruhan, tujuan filtering adalah untuk meningkatkan kualitas dan efektivitas data yang mau dianalisis atau dimodelkan.

Feature Selection,

Feature Selection adalah proses mengurangi jumlah fitur atau variabel input dengan memilih fitur-fitur yang dianggap paling relevan terhadap model.

Beberapa manfaat atau tujuan feature selection adalah:

  1. Mengurangi Overfitting.
  2. Semakin sedikit redundansi dalam fitur yang digunakan, berarti mengurangi kemungkinan munculnya noise dalam model.
  3. Meningkatkan Akurasi.
  4. Meminimalkan fitur dan data yang kurang tepat atau misleading.
  5. Mengurangi beban dan waktu training.
  6. Lebih sedikit data berarti mengurangi kompleksitas algoritma dan mempercepat waktu training.

⬇️⬇️Download file colab dan dataset dibawah!!🩵

📂 Pertemuan-5

📂 Pertemuan-6

--

--

mf.humam
mf.humam

Written by mf.humam

Write for Data Science enthusiast

No responses yet