top of page
Gambar penulisCornellius Yudha Wijaya

Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Diperbarui: 16 Jul

Tingkatkan workflow data Anda dengan paket-paket ini

Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Eksplorasi data adalah suatu keharusan sebelum analisis lebih lanjut, karena kita perlu memahami data dengan lebih baik.


Mungkin ada outlier? Atau mungkin distribusi data tidak normal? Atau apa kategori yang paling sering muncul? Pertanyaan-pertanyaan seperti ini hanya bisa dijawab melalui eksplorasi data.


Seringkali, ada banyak eksplorasi yang ingin kita lakukan. Namun, itu hanya terdiri dari aktivitas-aktivitas yang sama. Itu sebabnya kita bisa mengandalkan paket EDA otomatis untuk melakukan eksplorasi data.


Apa saja paket-paket tersebut? Mari kita mulai.



Data Preparation

Pada artikel ini, saya akan menggunakan dataset MPG yang berasal dari paket Seaborn. Untuk memuat data, Anda dapat menggunakan kode berikut.

import seaborn as sns

mpg = sns.load_dataset('mpg')
mpg.head()
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Data tersebut berisi sembilan kolom berbeda dengan berbagai jenis data. Data ini akan menjadi dasar untuk semua contoh eksplorasi.

Mari lanjutkan dengan paket-paket kita.

summarytools

Summarytools adalah paket Python EDA otomatis sederhana untuk Jupyter Notebook. Paket ini merangkum kolom data frame, termasuk statistik, frekuensi, distribusi, dan missing data.

Mari coba paket ini dengan sampel data. Pertama, kita akan menginstal paketnya.

pip install jupyter-summarytools

Ketika paket telah terinstal, kita akan menggunakannya untuk membuat EDA summary report dari data MPG.

from summarytools import dfSummary
dfSummary(mpg)
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Seperti yang kita lihat pada gambar pada di atas, kita mendapatkan EDA summary report cepat dengan satu baris kode.


Ringkasan data ini menunjukkan statistik dasar seperti Mean, IQR, atau nilai-nilai lainnya. Ada juga grafik sederhana tentang bagaimana data didistribusikan dan persentase missing data.

SweetViz

Sweetviz adalah paket Python untuk proses EDA otomatis yang secara eksplisit bertujuan untuk membandingkan dataset dan memvisualisasikan label target. Namun, kita dapat melakukan EDA seperti biasa tanpa label data.


Mari coba paket ini untuk pemahaman yang lebih baik. Pertama, kita akan menginstal paketnya.

pip install sweetviz

Selanjutnya, kita akan membuat report dengan kode berikut.

import sweetviz as sv

my_report = sv.analyze(mpg)
my_report.show_html()
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Dengan beberapa baris kode, kita mendapatkan report lengkap dari dataset. Setiap fitur dihitung dengan menyimpulkan tipe datanya dan berisi statistik dasar yang kita perlukan.


Paket Sweetviz juga mendukung target fitur dan perbandingan dataset.

my_report = sv.compare_intra(mpg, mpg["mpg"] < 23, ["Below 23", "Above 23"])
my_report.show_html() 
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Pada gambar di atas, kita membandingkan data MPG dengan nilai fitur mpg di bawah 23 dan di atas 23.


Ini adalah paket sederhana untuk digunakan namun intuitif, jadi cobalah untuk mengeksplorasi lebih lanjut.



D-Tale

D-Tale adalah paket Python untuk melihat dan menganalisis struktur Pandas DataFrame. Ini menyediakan integrasi GUI yang mulus langsung ke Jupyter Notebook kita. Mari coba paket ini dengan menginstalnya terlebih dahulu.

pip install dtale

Selanjutnya, mari kita inisialisasi paketnya dengan mengimpornya dan memasukkan dataset ke D-Tale.

import dtale

d = dtale.show(mpg)
d
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Anda akan mendapatkan hasil yang mirip dengan gambar di atas. Dengan paket ini, Anda dapat dengan mudah mengeksplorasi data dengan menyoroti fitur yang diinginkan dan memilih opsi yang diperlukan untuk analisis Anda.


Misalnya, saya memilih opsi Visualisasi dan Deskripsi dari bilah pemilihan.

Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Anda kemudian akan mendapatkan seluruh bagian untuk menjelajahi deskripsi data, yang mirip dengan gambar di bawah ini.

Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Ada banyak hal yang dapat Anda lakukan dengan paket ini, jadi saya sarankan Anda mencobanya sendiri.

y-data profiling

y-data profiling, sebelumnya disebut Pandas Profiling, adalah paket yang menawarkan report cepat dari dataset. Mari coba lihat bagaimana cara kerjanya.

Pertama, kita perlu menginstal paketnya.

pip install ydata-profiling

Kemudian, Anda hanya perlu menginisialisasi report dengan menggunakan kode berikut.

from ydata_profiling import ProfileReport

profile = ProfileReport(mpg, title="Profiling MPG Report")
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Dengan satu baris kode, Anda akan mendapatkan seluruh report dari informasi data. Dari statistik sederhana, korelasi, hingga missing data ada dalam report ini.


y-data profiling sangat bagus untuk mendapatkan informasi detail dan cepat yang kita butuhkan. Ini sudah cukup untuk orang-orang yang ingin memahami jenis data apa yang kita hadapi.

Klib

Klib adalah paket Python yang dirancang untuk membersihkan, menganalisis, dan preprocessing data. Namun, kita akan fokus pada aspek EDA untuk saat ini. Mari instal paketnya.

pip install klib

Ada banyak fungsi dari Klib untuk memvisualisasikan data. Sebagai contoh, saya menggunakan fungsi berikut untuk memberikan plot korelasi untuk setiap fitur numerik.

import klib

klib.corr_plot(mpg)
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Plot ini kemudian akan memberikan heatmap untuk korelasi fitur numerik. Kita juga bisa mencoba visualisasi Plot Kategorikal.

klib.cat_plot(mpg) 
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Masih ada banyak visualisasi yang dapat Anda lakukan dengan paket ini, Anda dapat mencobanya sendiri.

PandasGUI

PandasGUI berbeda dari paket-paket sebelumnya yang saya jelaskan di atas. Alih-alih menghasilkan report, PandasGUI menghasilkan GUI (Graphical User Interface) data frame yang bisa kita gunakan untuk menganalisis Pandas DataFrame dengan lebih rinci.


Mari coba paket ini. Pertama, kita perlu menginstal paket PandasGUI.

pip install pandasgui

Setelah instalasi selesai, mari kita lihat apa yang bisa dilakukan PandasGUI. Untuk menghasilkan GUI data frame, kita perlu menjalankan kode berikut.

from pandasgui import show

show(mpg)

Anda akan mendapatkan GUI data frame dari dataset.

Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Dengan GUI ini, Anda dapat mencoba mengeksplorasi data dengan drag-and-drop atau dengan mengklik opsi.


Sebagai contoh, saya mencoba memvisualisasikan scatter plot antara fitur cylinders dan mpg. Kemudian, saya hanya perlu memilih tab Grapher dan menyeret kolom yang ingin saya visualisasikan di grafik.

Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Ini bukan GUI yang sulit untuk dipahami, jadi Anda harus mencobanya sendiri.



Missingno

Missingno adalah paket EDA Python khusus yang bertujuan untuk menyediakan visualisasi data yang hilang yang mudah digunakan dan utilitas yang mendapatkan ringkasan visual cepat dari data yang hilang.


Seperti biasa, kita perlu menginstal paket sebelum melanjutkan.

!pip install missingno

Khusus contoh ini, saya akan menggunakan data titanic dari paket Seaborn, karena dataset tersebut mengandung lebih banyak missing data.

titanic = sns.load_dataset('titanic')

Kemudian, kita akan mencoba memvisualisasikan missing data dari data kita. Sebagai contoh, kita akan menghasilkan matriks nullity.

import missingno as msno
%matplotlib inline
msno.matrix(titanic)
Python Packages untuk EDA Otomatis yang Harus Anda Gunakan

Kita dapat melihat bahwa beberapa fitur missing data lebih banyak daripada yang lain.

Paket Missingno juga mampu memberikan korelasi dan tren antara missing data.


Pada contoh ini, kita akan menghasilkan dendrogram missing data.

msno.dendrogram(titanic)
Paket Python untuk EDA Otomatis yang Harus Anda Gunakan

Gambar diatas menunjukkan di mana missing data sangat berkorelasi dan terkait erat dengan fitur mana. Ini adalah fitur yang berguna ketika kita ingin mengetahui apa yang menyebabkan missing data.


Cobalah eksplorasi paket ini sendiri, karena masih banyak fitur dari paket ini yang dapat Anda gunakan.


Untuk seluruh kode yang kita gunakan dalam artikel ini, Anda dapat menemukannya di repositori berikut.

Kesimpulan

EDA adalah aktivitas penting bagi banyak profesional data. Kadang-kadang, ini bisa memakan terlalu banyak waktu, jadi kita bisa mengandalkan paket Python yang mengkhususkan diri dalam EDA.


Dalam artikel ini, kita membahas berbagai Paket Python EDA:

  1. summarytools

  2. SweetViz

  3. D-Tale

  4. y-data profiling

  5. Klib

  6. PandasGUI

  7. Missingno

Semoga bermanfaat!




24 tampilan0 komentar

Comments


bottom of page