EDA Nedir ve Neden Önemlidir?
Keşifsel Veri Analizi (EDA), ham veri kümesini makine öğrenimi modeline ya da istatistiksel testlere sokmadan önce derinlemesine anlamak amacıyla uygulanan sistematik inceleme sürecidir. John Tukey, 1977'de kaleme aldığı 'Exploratory Data Analysis' adlı eserinde bu yaklaşımı 'veri dedektifliği' olarak tanımlamıştır: önce veride ne olduğunu bulmak, sonra ne olması gerektiğini analiz etmek. EDA olmadan geliştirilen modeller ciddi risklere açıktır. Aykırı değerler lineer regresyonun eğim katsayısını bozar; gizli korelasyonlar çoklu doğrusallık (multicollinearity) sorununa yol açar; dengesiz sınıf dağılımları sınıflandırma modellerini önyargılı hâle getirir. EDA tüm bu tuzakları önceden görünür kılar ve veri bilimcinin bilinçli kararlar almasını sağlar.
EDA'nın Temel Yöntemleri
- check_circle Tek Değişken Analizi (Univariate): Her değişkeni bağımsız olarak inceler. Sayısal değişkenler için ortalama, medyan, standart sapma, çarpıklık (skewness) ve basıklık (kurtosis) hesaplanır; histogram ve yoğunluk grafiği (KDE plot) ile dağılım görselleştirilir.
- check_circle İki Değişken Analizi (Bivariate): İki değişken arasındaki ilişkiyi ortaya koyar. Sayısal-sayısal çiftler için Pearson/Spearman korelasyonu ve dağılım grafiği (scatter plot); sayısal-kategorik çiftler için kutu grafiği (box plot); kategorik-kategorik çiftler için çapraz tablo (cross-tabulation) kullanılır.
- check_circle Çok Değişken Analizi (Multivariate): Birden fazla değişkeni aynı anda değerlendirir. Pair plot (dağılım matrisi) tüm sayısal değişken çiftlerini tek bir görünümde sunar; korelasyon ısı haritası (heatmap) yüksek ilişkili değişkenleri renk kodlamasıyla öne çıkarır.
- check_circle Aykırı Değer Tespiti: IQR (çeyrekler arası aralık) yöntemi ve Z-skoru ile uç değerler belirlenir. Kutu grafiği üst/alt bıyıkları ötesindeki noktaları, Isolation Forest gibi algoritmalar ise çok boyutlu aykırıları tespit eder.
- check_circle Eksik Veri Analizi: Eksik değerlerin miktarı, sütun başına yüzdesi ve örüntüsü (MCAR, MAR, MNAR) incelenir. Isı haritası üzerindeki eksik değer görselleştirmesi (msno.matrix) gizli örüntüleri ortaya çıkarır.
Popüler EDA Araçları ve Kütüphaneler
- check_circle Pandas: Python'un temel veri manipülasyon kütüphanesi. df.describe(), df.info(), df.corr(), df.isnull().sum() gibi tek satır komutlarla hızlı özet çıkarır.
- check_circle Matplotlib & Seaborn: Matplotlib alt seviye grafik altyapısı, Seaborn istatistiksel görselleştirme için üst düzey API sağlar. sns.pairplot(), sns.heatmap(), sns.boxplot() EDA'da en sık kullanılan fonksiyonlardır.
- check_circle Plotly & Plotly Express: Etkileşimli (interactive) grafikler üretir. Jupyter ortamında zoom, hover ve filtre özellikleriyle keşif sürecini hızlandırır.
- check_circle ydata-profiling (eski Pandas Profiling): Tek komutla (ProfileReport(df)) kapsamlı HTML raporu üretir: dağılım, korelasyon, eksik değer, aykırı değer ve veri tipi özetleri otomatik oluşturulur.
- check_circle AutoViz: Büyük veri kümelerinde otomatik görselleştirme önerir ve en bilgi yoğun grafikleri öne çıkarır. Zaman ve kaynak tasarrufu sağlar.
EDA Adımları: Yapılandırılmış Bir Akış
Etkili bir EDA süreci genellikle şu adımları takip eder: 1. **Veriyi Yükle ve Temel Bilgileri Gözlemle:** Satır/sütun sayısı, veri tipleri, bellek kullanımı. df.shape, df.dtypes, df.head(). 2. **Tanımlayıcı İstatistikleri Hesapla:** Merkezi eğilim ve yayılım ölçüleri. df.describe(include='all'). 3. **Eksik Değerleri Tespit Et:** Sütun bazında eksik oran, örüntü analizi. 4. **Dağılımları Görselleştir:** Her sayısal değişken için histogram ve KDE; kategorik için bar grafiği. 5. **İlişkileri İncele:** Korelasyon matrisi, pair plot. 6. **Aykırı Değerleri Değerlendir:** IQR yöntemi, Z-skoru, kutu grafikleri. 7. **Hipotezleri Kaydet:** Gözlemlenen örüntüleri belgele; özellik mühendisliği ve model seçimi için notlar al.
Sıkça Sorulan Sorular
- check_circle EDA ne kadar süre almalı?: Veri kümesinin boyutuna ve karmaşıklığına bağlıdır. Küçük veri setlerinde birkaç saat yeterliyken, büyük kurumsal projelerde haftalarca sürebilir. Veri bilimciler zamanlarının %60-80'ini EDA ve veri temizleme için harcadıklarını bildiriyor.
- check_circle EDA ile doğrulayıcı veri analizi (CDA) arasındaki fark nedir?: EDA keşifsel ve hipotez üreticidir; veriye önyargısız yaklaşılır. Doğrulayıcı Veri Analizi (CDA) ise önceden belirlenmiş bir hipotezi istatistiksel testlerle (t-testi, ANOVA, ki-kare) sınar. EDA önce gelir, CDA arkasından.
- check_circle Büyük veri kümelerinde EDA nasıl yapılır?: Tüm veriyi belleğe çekmek yerine örnekleme (sampling) ile temsili alt küme üzerinde EDA yapılır. Apache Spark'ın PySpark API'si, Dask veya Polars kütüphaneleri büyük veri EDA'sı için tercih edilir.
- check_circle Otomatik EDA araçları (AutoEDA) manuel EDA'nın yerini tutabilir mi?: Hayır. AutoEDA araçları (ydata-profiling, AutoViz) ön incelemeyi hızlandırır ama alan uzmanlığı gerektiren yorumların, iş bağlamına özgü örüntülerin ve yaratıcı hipotez üretiminin yerini alamaz. En iyi sonuç, otomasyon + uzman yorumuyla elde edilir.
- check_circle EDA sonucunda ne yapılmalıdır?: Gözlemlenen örüntüler belgelenmeli, eksik değer stratejisi belirlenmeli (silme, imputation), aykırı değerler için kararlar alınmalı ve özellik mühendisliği adayları listelenmeli. Bu bulgular model seçimi ve değerlendirme metriği kararlarını yönlendirir.