🧹 Veri Hazırlama

Veri Temizleme (Data Cleaning) Nasıl Yapılır?

📅 4 Haziran 2026 ⏱ 9 dakika okuma ✍️ FM Analitik

Veri biliminde sık kullanılan bir ifadeye göre analistlerin zamanının yüzde yetmişi veri temizlemeye, yüzde otuzundan azı ise gerçek analize ayrılır. Bu abartılmış gibi görünse de özünde doğrudur: ham verinin kalitesi, elde edeceğiniz bulguların güvenilirliğini doğrudan belirler. "Çöp girer, çöp çıkar" (garbage in, garbage out) ilkesi veri analizinin temel gerçeklerinden biridir. Bu yazıda veri temizlemenin adımlarını, yaygın sorunları ve SPSS, Python ve R'da nasıl uygulanacağını ele alıyoruz.

Veri Temizleme Neden Bu Kadar Önemli?

Gerçek dünya verileri nadiren analiz edilmeye hazır gelir. Anket yanıtlarında boş bırakılan sorular, sensör kayıtlarında oluşan ölçüm hataları, manuel veri girişindeki yazım yanlışları veya birden fazla sistemden birleştirilen verilerdeki biçim farklılıkları veri setini kirletir. Temizlenmemiş veriyle yapılan analizler yanıltıcı ortalamalara, sahte korelasyonlara ve hatalı model tahminlerine yol açar. Van den Broeck ve arkadaşlarının (2005) kapsamlı incelememesine göre sağlık araştırmalarındaki veri hatalarının büyük bölümü sistematik bir temizleme süreci uygulanmadığında fark edilmez.

1. Eksik Veri (Missing Data) Yöntemleri

Eksik veri, veri temizlemenin en çok dikkat gerektiren boyutudur. Eksikliğin rastlantısal mı (MCAR, MAR) yoksa sistematik mi (MNAR) olduğu, hangi yöntemin seçileceğini etkiler.

Eksik Veri Mekanizmaları

  • MCAR (Tamamen Rastlantısal Eksik): Eksiklik hiçbir değişkenle ilişkili değildir. Güvenli silme yöntemleri uygulanabilir.
  • MAR (Rastlantısal Eksik): Eksiklik başka gözlemlenen değişkenlerle ilişkilidir. Çoklu atama (multiple imputation) önerilir.
  • MNAR (Rastlantısal Olmayan Eksik): Eksiklik bizzat eksik olan değerle ilişkilidir. Modelleme gerektirir ve en zor durumdur.

Pratik Yöntemler

YöntemNe Zaman KullanılırDezavantajı
Listwise DeletionEksik oran <%5, MCARÖrneklem küçülür
Ortalama/Medyan AtamaBasit analizler, az eksikVaryansı azaltır
Çoklu Atama (MI)Orta-yüksek eksik oran, MARHesaplama yoğun
KNN İmputationSürekli değişkenlerBüyük veri setinde yavaş

💡 Python İpucu: df.isnull().sum() / len(df) * 100 komutuyla her sütundaki eksik veri yüzdesini hızlıca görebilirsiniz. Yüzde beşin üzerindeki sütunlar için strateji belirlemeyi ihmal etmeyin.

2. Aykırı Değer (Outlier) Tespiti ve İşlemi

Aykırı değerler, veri setinin genel dağılımından belirgin şekilde uzaklaşan gözlemlerdir. Bunlar bazen gerçek olgulardır (gerçekten çok yüksek bir gelir düzeyi), bazen ise veri giriş hatalarıdır. İkisini ayırt etmek kritik önem taşır.

Tespit Yöntemleri

  • Z-skoru yöntemi: |z| > 3 olan gözlemler aykırı sayılabilir. Küçük örneklemlerde güvenilirliği düşer.
  • IQR yöntemi: Q1 − 1.5×IQR altı veya Q3 + 1.5×IQR üstü değerler aykırıdır. Kutu grafiği (boxplot) ile görselleştirilebilir.
  • Mahalanobis mesafesi: Çok değişkenli analizlerde birden fazla boyutta aykırılığı tespit eder.

Aykırı Değerle Başa Çıkma Stratejileri

Aykırı değerleri silmek her zaman doğru değildir. Veri giriş hatası ise silinebilir; gerçek gözlem ise dönüşüm (logaritmik, köksel) uygulanabilir ya da robust istatistik yöntemleri tercih edilebilir. Yapılan işlem mutlaka raporlanmalıdır.

3. Tekrar Eden Kayıtlar (Duplicate Records)

Özellikle birden fazla kaynaktan birleştirilen veri setlerinde mükerrer satırlar sık görülür. Tekrar eden bir kayıt, istatistiksel ağırlığı yapay olarak artırır ve örneklem büyüklüğünü şişirir.

Python'da df.duplicated().sum() ile tekrar eden satır sayısını, df.drop_duplicates(inplace=True) ile bunları kaldırabilirsiniz. SPSS'te ise Data → Identify Duplicate Cases menüsü bu işlemi kolaylaştırır. R'da duplicated(df) fonksiyonu aynı işlevi görür.

4. Veri Tipi Dönüşümleri

Veri setindeki sütunların doğru veri tipinde tanımlanmış olması, hem analiz doğruluğunu hem de yazılım performansını etkiler. Yaygın sorunlar şunlardır:

  • Tarih sütununun metin (string) olarak gelmesi
  • Sayısal değerlerin kategorik olarak kodlanması (örneğin "1" ve 1)
  • Ondalık ayraçların ülkeye göre farklılık göstermesi (virgül vs nokta)
  • Kategorik değişkenlerde tutarsız büyük/küçük harf kullanımı ("Evet", "evet", "EVET")

💡 Wickham'ın Tidy Data İlkesi (2014): Her değişken bir sütunda, her gözlem bir satırda, her gözlem birimi ayrı bir tabloda bulunmalıdır. Bu ilkeye uyan veri, hem temizlemesi hem de analizi en kolay olan veridir.

5. SPSS, Python ve R'da Pratik Adımlar

SPSS'te Veri Temizleme

SPSS'te Analyze → Descriptive Statistics → Frequencies ile genel dağılımı kontrol edin. Data → Select Cases ile belirli kriterleri sağlamayan satırları hariç tutabilirsiniz. Transform → Recode into Different Variables ile yanlış kodlanmış değerleri düzeltebilirsiniz.

Python ile Veri Temizleme (pandas)

pandas kütüphanesi veri temizleme için kapsamlı araçlar sunar: df.info() ile veri tipi özeti, df.describe() ile betimsel istatistikler, df.fillna() ile eksik değer doldurma ve df.astype() ile tip dönüşümü yapılabilir. df.str.strip().str.lower() zincirleme işlemi metin sütunlarındaki biçim tutarsızlıklarını giderir.

R ile Veri Temizleme

R'da tidyverse paketinin parçası olan dplyr ve tidyr veri temizleme sürecini büyük ölçüde kolaylaştırır. filter(), mutate() ve drop_na() fonksiyonları pipe operatörü (%>%) ile zincirlenerek okunabilir ve tekrar üretilebilir (reproducible) temizleme kodu yazılabilir.

Temizleme Sürecini Belgeleme

Akademik çalışmalarda ve profesyonel projelerde her temizleme kararı kayıt altına alınmalıdır: kaç gözlem silindi, hangi değerler dolduruldu, hangi dönüşümler uygulandı. Bu şeffaflık çalışmanın tekrar üretilebilirliğini (reproducibility) sağlar. Ham veri asla üzerine yazılmamalı; temiz veri ayrı bir dosyaya kaydedilmelidir.

Veri Temizleme Konusunda Yardıma mı İhtiyacınız Var?

Karmaşık ve hatalı veri setlerinizi profesyonel olarak temizleyip analize hazır hale getiriyoruz. SPSS, Python ve R ile hızlı, güvenilir çözüm.

Ücretsiz Danışma Al

Kaynaklar

  • Van den Broeck, J., Cunningham, S. A., Eeckels, R., & Herbst, K. (2005). Data cleaning: detecting, diagnosing, and editing data abnormalities. PLOS Medicine, 2(10), e267.
  • Wickham, H. (2014). Tidy data. Journal of Statistical Software, 59(10), 1–23.