Data Profiling – 1 (w/ Pandas Profiling)

Veri setinin alfanümerik bir yığın olduğu o ilk anda ne yapılmalıdır? Yapılması gereken ilk şey veri seti üzerinden anlamlı desenler çıkarılması için analiz etmek olacaktır. EDA (Exploratory Data Analysis) yada Data Profiling kavramıda bu noktada hangi analiz adımlarının kullanılabileceğini toparlayan bir üst başlık niteliği taşır.

Pandas Profiling

Veri profilleme için bir çok ürün mevcut. Yazıya konu olan ürün bir python modülü olan Pandas Profiling olacak. Pandas Profiling’in işleyiş mantığı; pandas dataframe‘inde yer alan bir veri setinin aşağıdaki başlıklarda analiz edilmesi ve analiz raporunun oluşturulmasıdır.

  • Tür çıkarımı: Dataframe de yer alan kolonların veri tiplerinin belirlenmesi.
  • Temel bilgiler: tür, benzersiz değerler, eksik değerler.
  • Max, min, Q1, medyan, Q3, range, interquartile range gibi nicel istatistiksel değerler.
  • Ortalama, mod, standart sapma, toplam, medyan mutlak sapma, varyasyon katsayısı, skewness gibi tanımlayıcı istatistikler.
  • En sık görülen değerler.
  • Histogram.
  • Yüksek korelasyonlu değişkenlerin, Spearman, Pearson ve Kendall matrislerinin vurgulandığı korelasyonlar.
  • Eksik değerler matrisi, sayım, ısı haritası ve eksik değerlerin dendrogramı.
  • Metin analizi, metin verilerinin kategorileri (Büyük Harf, Boşluk), komut dosyaları (Latin, Kiril) ve blokları (ASCII) hakkında bilgi.
  • Dosya ve Görüntü analizi, dosya boyutlarını, oluşturma tarihlerini ve boyutlarını çıkarır ve kesilmiş görüntüleri veya EXIF bilgilerini tarar.

Örnek Senaryo

Örnek veri seti bu senaryo için bir csv dosyası olarak verildi. ProfileReport() içinde rapor parametreleriyle birlikte veri setinin analiz sonrasında oluşacak raporundaki ilgili başlık gibi tanımları set edilebilir. (Python kodu veri analizinde kullanım kolaylığı sunmasından ve arayüz basitliğinden ötürü Jupyter kullanılarak yazıldı.)

Rapor çıktısı olan HTML Report dosyasının görünümü aşağıdaki gibidir.

Kodların yer aldığı Notebook dosyasına linkteki Github projesinden erişilebilir; https://github.com/alimesutk/ProjectEDA

Serinin devamında görüşmek üzere 🖐

Kaynaklar:

https://github.com/ydataai/pandas-profiling
https://medium.com/nerd-for-tech/pandas-profiling-exploratory-data-analysis-9a2e3ef5471c
https://dzone.com/articles/pandas-one-line-magical-code-for-eda-pandas-profil

__________________________________________________________________________

Ali Mesut Karadeniz

Yorum bırakın