2 Veri Kümesini Panda Profili Oluşturmayla Nasıl Karşılaştırabilirsiniz?

Nov 25 2022
Gelişmiş EDA ile bir veri kalitesi kullanım senaryosu
Görselleştirme, EDA'nın temel taşıdır. Yeni, bilinmeyen bir veri kümesiyle karşılaştığımızda görsel inceleme, mevcut bilgiler hakkında fikir edinmemize, verilerle ilgili bazı modeller çizmemize ve ele almamız gerekebilecek çeşitli sorunları teşhis etmemize olanak tanır.
Pandalar-profil karşılaştırma raporu (yazar tarafından ekran görüntüsü)

Görselleştirme, EDA'nın temel taşıdır. Yeni, bilinmeyen bir veri kümesiyle karşılaştığımızda görsel inceleme, mevcut bilgiler hakkında fikir edinmemize, verilerle ilgili bazı modeller çizmemize ve ele almamız gerekebilecek çeşitli sorunları teşhis etmemize olanak tanır. Bu bağlamda, Pandas Profiling , her veri bilimcinin alet kemerinde vazgeçilmez bir İsviçre bıçağı olmuştur. Geçmiş makalelerimde, zaman serisi EDA gerçekleştirirken panda profili oluşturmanın nasıl yardımcı olabileceğinden bahsetmiştim , peki ya iki veri setini karşılaştırabilirsek?

Kaçımız bir veri bilimi projesi geliştirmeye başladık ve veri dönüşümlerimizden ve mühendisliğimizden ne kadar faydalandığımızı anlamakta zorlanıyoruz?

Ve bugünün blog gönderisinde tam olarak ele alacağım şey bu - veri bilimi geliştirme sürecini ve veri kalitesi iyileştirmelerini hızlandırmak için en ünlü tek satırlık kod EDA'dan nasıl yararlanılacağı. EDA sürecinizi hızlandırmak ve verilerimiz üzerinde daha hızlı ve daha akıllı dönüşümler üretme potansiyelini göstermek için Pandalar-Profilleme karşılaştırma raporu işlevinden nasıl yararlanacağınız konusunda size bir tur vereceğim.

Bu makalede kullanılan veri kümesi, Miriam Santos'un HCC Veri Kümesi olan Kaggle'da bulunabilir ( Lisans : CC0 : Public Domain ). Bu özel kullanım durumu için, görselleştirmenin bunları tespit etmemize ve etkili bir şekilde hafifletme konusunda bize nasıl rehberlik edebileceğini size göstermek için bazı ek veri kalitesi sorunlarını yapay olarak tanıttım. Tüm kod ve örnekler GitHub'da mevcuttur ve biraz bilgi tazelemeniz gerekirse , panda profil oluşturma becerilerinizin tozunu almak için bu blogu kontrol ettiğinizden emin olun. Öyleyse, kullanım durumumuzla devam edin!

Panda Profili Oluşturma: EDA parmaklarınızın ucunda

HCC veri kümesinin profilini çıkararak ve raporda önerilen veri kalitesi sorunlarını araştırarak başlayacağız:

pip install pandas-profiling==3.5.0
    
      

Alerts shown in Pandas Profiling Report (scheenshot by author)

  • Yinelenenler : Veride 4 yinelenen satır;
  • Sabit : 'O2'de sabit değer “999”;
  • Yüksek Korelasyon : Yüksek oranda ilişkili olarak işaretlenen birkaç özellik;
  • Eksik : 'Ferritin'de Eksik Değerler.

Yinelenen Satırları Kaldırma : Alanın doğasına bağlı olarak, hatasız aynı değerlere sahip kayıtlar olabilir. Bununla birlikte, bu veri setindeki bazı özelliklerin oldukça spesifik olduğu ve bireyin biyolojik ölçümlerine (örn. "Hemoglobin", "MCV", "Albumin") atıfta bulunduğu düşünülürse, birkaç hastanın tüm özellikler için aynı kesin değerleri bildirmesi olası değildir. . Verilerden bu kopyaları bırakarak başlayalım:

Alakasız Özellikleri Kaldırma : O2'deki sabit değerler de verilerdeki gerçek bir tutarsızlığı yansıtıyor ve model geliştirme için değerli bilgiler barındırıyor gibi görünmüyor. Gerçek kullanım durumu senaryolarında, bir alan veya iş uzmanlarıyla yineleme yapmak iyi bir standart olacaktır, ancak bu kullanım örneği örneğinin amacı doğrultusunda, onları analizden çıkaracağız:

Eksik Veri Takibi : HCC veri seti de eksik verilere karşı son derece hassas görünüyor. Bu sorunu çözmenin basit bir yolu (eksik kayıtları veya tüm özellikleri kaldırmaktan kaçınmak), veri yüklemeye başvurmaktır. İstatistiksel değerlendirme tekniklerinin en yaygın ve basiti olduğundan ve genellikle bir temel yöntem olarak hizmet ettiğinden, eksik gözlemleri doldurmak için ortalama değerlendirmeyi kullanacağız:

Yan yana karşılaştırma: verileriniz üzerinde daha hızlı ve daha akıllı yinelemeler

Şimdi eğlenceli kısım için! Veri kümemize ilk dönüşüm grubunu uyguladıktan sonra, bunların verilerimizin genel kalitesi üzerindeki etkilerini değerlendirmeye hazırız. Panda profili oluşturma karşılaştırma raporu işlevi burada işe yarar. Aşağıdaki kod, nasıl başlayacağınızı gösterir:

Karşılaştırmada her iki raporun nasıl gösterildiği aşağıda açıklanmıştır:

Orijinal Verileri ve Dönüştürülmüş Verileri Karşılaştırma (yazar tarafından ekran görüntüsü)

Veri kümesine genel bakışımızdan hemen ne anlayabiliriz? Dönüştürülen veri kümesi, bir daha az kategorik özellik ("O2" kaldırıldı), 165 gözlem (kopyaları içeren orijinal 171'e karşı) ve eksik değer içermez (orijinal veri kümesindeki 79 eksik gözlemin aksine).

Ancak bu dönüşümler verilerimizin kalitesini nasıl etkiledi? Ve bu kararlar ne kadar iyi?

Bunun derinlerine inelim. Yinelenen kayıtlarla ilgili olarak, düşüşten sonra değişken dağılımları ve veri seti modelleriyle ilgili olarak belirli bir etki olmamıştır. Yapılan kayıp değerler isnadı farklı bir hikaye.

Beklendiği gibi, veri ataması gerçekleştirildikten sonra hiçbir kayıp gözlem yoktur. Hem sıfır değeri sayımının hem de matrisin, verilerin her iki versiyonu arasındaki farkları nasıl gösterdiğine dikkat edin: dönüştürülmüş verilerde, "Ferritin" artık 165 tam değere sahiptir ve sıfır değeri matrisinde hiçbir boşluk bulunamaz.

Karşılaştırma Raporu: Eksik Değerler (Yazar tarafından ekran görüntüsü)

Ancak, karşılaştırma raporundan başka bir şey çıkarabiliriz. "Ferritin" histogramını inceleyecek olsaydık, değerlerin ortalamayla atfedilmesinin orijinal veri dağılımını nasıl bozduğunu görürdük ki bu istenmeyen bir durumdur.

Karşılaştırma Raporu: Ferritin — emsal değerler orijinal özellik dağılımını bozuyor gibi görünüyor (Ekran görüntüsü yazar tarafından)

Bu, "Ferritin" ile diğer özellikler arasındaki ilişkide daft etkileşim kalıplarının ve daha yüksek korelasyon değerlerinin ortaya çıktığı etkileşimlerin ve korelasyonların görselleştirilmesiyle de gözlemlenir.

Karşılaştırma Raporu: Ferritin ve Yaş arasındaki etkileşimler: tahmini değerler, ortalamaya karşılık gelen dikey bir çizgide gösterilir (Ekran görüntüsü yazar tarafından)
Karşılaştırma Raporu: Korelasyonlar — Ferritin korelasyon değerleri, veri değerlendirmesinden sonra artıyor gibi görünüyor (yazar tarafından ekran görüntüsü)

Bu, karşılaştırma raporunun yalnızca veri dönüşümlerinden sonra ortaya çıkan farklılıkları vurgulamak için yararlı olmadığını, aynı zamanda bizi bu dönüşümlerle ilgili önemli içgörülere götüren birkaç görsel ipucu sağladığını gösteriyor: bu durumda, daha özel bir veri değerlendirme stratejisi düşünülmelidir. .

Son düşünceler

Bu küçük kullanım durumu boyunca, EDA sırasında gerçekleştirilen veri dönüşümlerini vurgulamak ve bunların veri kalitesi üzerindeki etkilerini değerlendirmek için aynı profil oluşturma raporunda iki veri kümesini karşılaştırmanın yararlılığını ele aldık.

Bununla birlikte, veri merkezli çözümler için özellik değerlendirmesi ve görsel inceleme üzerinde (tekrar) yineleme ihtiyacı hayati önem taşıdığından, bu işlevselliğin uygulamaları sonsuzdur . Train , doğrulama ve test setleri dağıtımlarının veya veri kalite kontrolünün karşılaştırılmasından sentetik veri oluşturma süreci gibi daha gelişmiş kullanım durumlarına kadar .

Fabiana Clemente , YData'da CDO

İyileştirilmiş verilerle yapay zekayı hızlandırma.