How To Compare 2 Datasets With Pandas-profiling – Towards AI

How To Compare 2 Datasets With Pandas-profiling – Towards AI

Author(s): Fabiana Clemente

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda membuat produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

Kasus penggunaan kualitas data dengan EDA lanjutan

Laporan perbandingan profil panda (tangkapan layar oleh penulis)

Visualisasi adalah landasan EDA. Saat menghadapi kumpulan data baru yang tidak diketahui, inspeksi visual memungkinkan kami merasakan informasi yang tersedia, menggambar beberapa pola terkait data, dan mendiagnosis beberapa masalah yang mungkin perlu kami atasi. Dalam hal itu, Pandas Profiling telah menjadi pisau swiss yang sangat diperlukan di sabuk alat setiap ilmuwan data. Dalam artikel saya sebelumnya, saya telah menyebutkan bagaimana profil panda dapat membantu saat melakukan EDA deret waktu, tetapi bagaimana jika kita dapat membandingkan dua kumpulan data?

Berapa banyak dari kita yang telah memulai pengembangan proyek ilmu data dan berjuang untuk memahami berapa banyak yang kita dapatkan dari transformasi dan rekayasa data kita?

Dan itulah tepatnya yang akan saya bahas dalam postingan blog hari ini — cara memanfaatkan satu baris kode EDA yang paling terkenal untuk meningkatkan proses pengembangan ilmu data dan peningkatan kualitas data. Saya akan memberi Anda tur tentang cara memanfaatkan fungsionalitas laporan perbandingan Pandas-Profiling untuk meningkatkan proses EDA Anda dan mengilustrasikan potensinya dalam menghasilkan transformasi yang lebih cepat dan lebih cerdas pada data kami.

Kumpulan data yang digunakan dalam artikel ini dapat ditemukan di Kaggle, Kumpulan Data HCC oleh Miriam Santos (Lisensi: CC0: Domain Publik). Untuk kasus penggunaan khusus ini, saya telah secara artifisial memperkenalkan beberapa masalah kualitas data tambahan untuk menunjukkan kepada Anda bagaimana visualisasi dapat membantu kami mendeteksinya dan memandu kami menuju mitigasinya yang efisien. Semua kode dan contoh tersedia di GitHub dan jika Anda memerlukan sedikit penyegaran, pastikan untuk memeriksa blog ini untuk menghilangkan keterampilan profiling panda Anda. Jadi, lanjutkan dengan kasus penggunaan kami!

Pandas Profiling: EDA di ujung jari Anda

Kita akan mulai dengan membuat profil kumpulan data HCC dan menyelidiki masalah kualitas data yang disarankan dalam laporan:

pip install pandas-profiling==3.5.0

https://medium.com/media/aecbb2a0b206edc8b622a05049283be4/href

Lansiran yang ditampilkan di Laporan Profil Pandas (diambil dari penulis)

Menurut ikhtisar “Peringatan”, ada empat jenis masalah potensial utama yang perlu ditangani:

Duplikat: 4 baris duplikat dalam data; Konstan: Nilai konstan “999” di ‘O2’; Korelasi Tinggi: Beberapa fitur ditandai berkorelasi tinggi; Hilang: Nilai yang Hilang di ‘Feritin’.

Validitas setiap masalah potensial (serta kebutuhan untuk menemukan strategi mitigasinya) bergantung pada kasus penggunaan khusus dan pengetahuan domain. Dalam kasus kami, dengan pengecualian peringatan “korelasi tinggi”, yang memerlukan penyelidikan lebih lanjut, peringatan lainnya tampaknya mencerminkan masalah kualitas data yang sebenarnya dan dapat ditangani menggunakan beberapa solusi praktis:

Menghapus Baris Duplikat: Bergantung pada sifat domain, mungkin ada catatan yang memiliki nilai yang sama tanpa kesalahan. Namun, mengingat beberapa fitur dalam kumpulan data ini cukup spesifik dan mengacu pada pengukuran biologis individu (misalnya, “Hemoglobin”, “MCV”, “Albumin”), tidak mungkin beberapa pasien melaporkan nilai persis yang sama untuk semua fitur. . Mari kita mulai dengan melepaskan duplikat ini dari data:

https://medium.com/media/753e0ef447aeb6f486b7eafdcd565d3c/href

Menghapus Fitur yang Tidak Relevan: Nilai konstanta dalam O2 juga mencerminkan ketidakkonsistenan yang sebenarnya dalam data dan tampaknya tidak menyimpan informasi berharga untuk pengembangan model. Dalam skenario kasus penggunaan nyata, iterasi dengan domain atau pakar bisnis akan menjadi standar yang baik, tetapi untuk tujuan contoh kasus penggunaan ini, kami akan melanjutkan dan menghapusnya dari analisis:

https://medium.com/media/448ec4f47535e83238d6da48f166646e/href

Imputasi Data yang Hilang: Kumpulan data HCC juga tampaknya sangat rentan terhadap data yang hilang. Cara sederhana untuk mengatasi masalah ini (menghindari penghapusan catatan yang tidak lengkap atau seluruh fitur) adalah menggunakan imputasi data. Kami akan menggunakan imputasi rata-rata untuk mengisi pengamatan yang tidak ada, karena ini adalah teknik imputasi statistik yang paling umum dan sederhana dan sering berfungsi sebagai metode dasar:

https://medium.com/media/052d75becb1224d1766eb88cda7bc39f/href

Perbandingan berdampingan: iterasi yang lebih cepat dan cerdas pada data Anda

Sekarang untuk bagian yang menyenangkan! Setelah menerapkan transformasi gelombang pertama ke kumpulan data kami, kami siap untuk menilai dampaknya terhadap kualitas keseluruhan data kami. Di sinilah fungsionalitas laporan perbandingan profil panda sangat berguna. Kode di bawah ini menggambarkan cara memulai:

https://medium.com/media/092c7ff17bdb1027986911d700c4bfbc/href

Berikut cara kedua laporan ditampilkan dalam perbandingan:

Membandingkan Data Asli dan Data yang Diubah (screencast oleh penulis)

Apa yang dapat langsung kami pahami dari ikhtisar kumpulan data kami? Kumpulan data yang diubah berisi satu fitur yang kurang kategoris (“O2” telah dihapus), 165 pengamatan (versus 171 asli yang berisi duplikat), dan tidak ada nilai yang hilang (berbeda dengan 79 pengamatan yang hilang dalam kumpulan data asli).

Namun, bagaimana transformasi ini memengaruhi kualitas data kami? Dan seberapa bagus keputusan itu?

Mari selami lebih dalam. Dalam hal catatan duplikat, tidak ada dampak khusus dalam hal distribusi variabel dan pola kumpulan data setelah penurunan. Imputasi nilai-nilai yang hilang yang dilakukan adalah cerita yang berbeda.

Seperti yang diharapkan, tidak ada pengamatan yang hilang setelah imputasi data dilakukan. Perhatikan bagaimana jumlah nullity dan matriks menunjukkan perbedaan antara kedua versi data: dalam data yang diubah, “Ferritin” sekarang memiliki 165 nilai lengkap, dan tidak ada kekosongan yang dapat ditemukan dalam matriks nullity.

Laporan Perbandingan: Nilai yang Hilang (screencast oleh Penulis)

Namun, kami dapat menyimpulkan sesuatu yang lain dari laporan perbandingan. Jika kita memeriksa histogram “Feritin”, kita akan melihat bagaimana memasukkan nilai dengan rata-rata telah mendistorsi distribusi data asli, yang tidak diinginkan.

Laporan Perbandingan: Ferritin — nilai yang diperhitungkan tampaknya mendistorsi distribusi fitur asli (Tangkapan layar oleh penulis)

Ini juga diamati melalui visualisasi interaksi dan korelasi, di mana pola interaksi gila dan nilai korelasi yang lebih tinggi muncul dalam hubungan antara “Feritin” dan fitur lainnya.

Laporan Perbandingan: Interaksi antara Ferritin dan Usia: nilai yang diperhitungkan ditampilkan dalam garis vertikal yang sesuai dengan rata-rata (Tangkapan layar oleh penulis)Laporan Perbandingan: Korelasi — Nilai korelasi feritin tampaknya meningkat setelah imputasi data (tangkapan layar oleh penulis)

Hal ini menunjukkan bahwa laporan perbandingan tidak hanya berguna untuk menyoroti perbedaan yang muncul setelah transformasi data, tetapi juga memberikan beberapa isyarat visual yang mengarahkan kita menuju wawasan penting terkait transformasi tersebut: dalam hal ini, strategi imputasi data yang lebih khusus harus dipertimbangkan. .

Pikiran Akhir

Sepanjang kasus penggunaan kecil ini, kami telah membahas manfaat membandingkan dua set data dalam laporan pembuatan profil yang sama untuk menyoroti transformasi data yang dilakukan selama EDA dan mengevaluasi dampaknya terhadap kualitas data.

Namun demikian, penerapan fungsi ini tidak terbatas, karena kebutuhan untuk mengulang kembali penilaian fitur dan inspeksi visual sangat penting untuk solusi yang berpusat pada data. Dari membandingkan distribusi pelatihan, validasi, dan set pengujian atau kontrol kualitas data hingga kasus penggunaan yang lebih lanjut seperti untuk proses pembuatan data sintetik.

Fabiana Clemente, CDO di YData

Mempercepat AI dengan data yang ditingkatkan.

Cara Membandingkan 2 Dataset Dengan Pandas-profiling awalnya diterbitkan di Menuju AI di Medium, di mana orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jonathan Kelly