Keşifsel Veri Analizi (EDA) Adım Adım
İstatistik ustası John Tukey 1977'de yayımladığı "Exploratory Data Analysis" adlı eseriyle veri analizine yeni bir bakış açısı kazandırdı: önce veriye bakın, sonra hipotez kurun. Keşifsel Veri Analizi (EDA), herhangi bir istatistiksel model uygulamadan önce verinin doğasını, dağılımını, ilişkilerini ve olası sorunlarını görsel ve sayısal araçlarla anlamak demektir. Bu yazıda EDA'nın adımlarını ve Python pandas ile nasıl uygulandığını ele alıyoruz.
EDA Neden Önemlidir?
Model kurmadan önce EDA yapmak birçok kritik soruya yanıt verir: Verimin dağılımı nasıl? Aykırı değer var mı? Hangi değişkenler birbirleriyle ilişkili? Eksik veri hangi sütunlarda yoğunlaşıyor? Wickham ve Grolemund'un (2017) "R for Data Science" eserinde vurgulandığı gibi, EDA döngüsel bir süreçtir: soru sor, veriyi görselleştir, yeni sorular türet. Varsayımlara körü körüne güvenmek yerine verinin size ne söylediğini dinleyin.
Adım 1: Veri Setine Genel Bakış
İlk adım veri setinin boyutunu, değişken türlerini ve ilk birkaç satırını incelemektir. Python'da şu komutlar bu amaçla kullanılır:
df.shape— satır ve sütun sayısıdf.dtypes— her sütunun veri tipidf.head()— ilk 5 satırdf.info()— tip özeti ve eksik değer durumudf.isnull().sum()— sütun bazında eksik değer sayısı
Bu aşamada zaten pek çok şey dikkat çekebilir: beklenmedik veri tipleri, çok sayıda eksik değer içeren sütunlar veya anlamsız sütun isimleri.
Adım 2: Betimsel İstatistikler
Sayısal değişkenler için df.describe() komutu merkezi eğilim ve yayılım ölçütlerini özetler. Çıktıdaki değerlere özellikle dikkat edilmesi gerekenler:
| İstatistik | Ne İçin Kullanılır |
|---|---|
| mean (ortalama) | Merkezi eğilim; aykırı değerlere duyarlı |
| 50% (medyan) | Aykırı değerlerden etkilenmeyen merkez |
| std (standart sapma) | Verinin yayılımı |
| min / max | Olası veri giriş hatalarını gösterir |
Kategorik değişkenler için df['kolon'].value_counts() frekans dağılımını, df['kolon'].nunique() ise benzersiz kategori sayısını verir.
Adım 3: Histogram ile Dağılım İncelemesi
Histogram, sürekli bir değişkenin dağılımını görsel olarak ortaya koyar. Normal dağılım var mı, çarpıklık var mı, bölünmüş (bimodal) bir dağılım mı? Bu sorulara histogramla yanıt verilir. df['gelir'].hist(bins=30) komutuyla hızlı bir histogram oluşturulabilir.
💡 Seaborn ile Daha Zengin Görselleştirme: sns.histplot(data=df, x='gelir', kde=True) komutu histogramın üzerine yoğunluk eğrisi (KDE) de ekler. Dağılımın genel şeklini daha iyi kavramanızı sağlar.
Adım 4: Boxplot ile Aykırı Değer Tespiti
Kutu grafiği (boxplot), medyanı, çeyrekler arası aralığı (IQR) ve aykırı değerleri tek bir grafikte sunar. Birden fazla grubu karşılaştırmak için de idealdir. Örneğin sns.boxplot(data=df, x='cinsiyet', y='maas') ile cinsiyete göre maaş dağılımı görselleştirilebilir.
Adım 5: Scatter Plot ile İlişki Analizi
İki sürekli değişken arasındaki ilişkiyi görselleştirmek için saçılım diyagramı kullanılır. Doğrusal mı, eğrisel mi, yoksa ilişki yok mu? Aykırı değerler nerede yoğunlaşıyor? sns.scatterplot(data=df, x='egitim_yili', y='gelir', hue='cinsiyet') gibi bir komutla renk kodlaması eklenebilir.
Adım 6: Korelasyon Isı Haritası (Heatmap)
Tüm sayısal değişkenler arasındaki korelasyonları tek bir görsel tabloda sunmak için ısı haritası kullanılır. sns.heatmap(df.corr(), annot=True, cmap='coolwarm') komutu korelasyon matrisini renk kodlu olarak gösterir. Koyu kırmızı güçlü pozitif, koyu mavi güçlü negatif ilişkiyi temsil eder.
Adım 7: Bulguları Özetleme
EDA bir keşif sürecidir; bulguları özetlemek ve analizin bir sonraki aşaması için yol haritası çizmek önemlidir. Hangi değişkenler bağımlı değişkenle ilişkili görünüyor? Hangi sütunlarda veri kalitesi sorunu var? Model seçimini etkileyecek dağılım özellikleri neler? Bu sorulara verilen yanıtlar EDA raporunu oluşturur.
Verinizin Hikayesini Birlikte Keşfedelim
Veri setiniz için kapsamlı EDA raporu hazırlıyor, bulgularınızı yorumluyor ve ileri analiz için en uygun yöntemi öneriyoruz.
Ücretsiz Danışma AlKaynaklar
- Tukey, J. W. (1977). Exploratory Data Analysis. Addison-Wesley.
- Wickham, H., & Grolemund, G. (2017). R for Data Science. O'Reilly Media. r4ds.had.co.nz