Veri Temizleme

Zorluk: Başlangıç Okuma Süresi: 10 dakika

Veri Neden Asla Mükemmel Değildir

Gerçek dünyada karşılaştığınız her veri setinde sorunlar olacaktır. Anket katılımcıları soruları atlar. Sensörler arızalanır ve imkânsız değerler kaydeder. Elektronik tablolar kopyala-yapıştır ile tekrarlanan satırlar alır. Birisi sayısal bir alana "Yok" yazar. Bir tarih "03/04/2025" olarak görünür ve bunun 4 Mart mı yoksa 3 Nisan mı olduğunu anlayamazsınız.

Veri temizleme, veriyi analiz etmeden önce bu sorunları bulma ve düzeltme sürecidir. Gösterişli bir iş değildir, ancak herhangi bir analizdeki tartışmasız en önemli adımdır. Deneyimli veri bilimcileri, zamanlarının %60-80'inin veri temizleme ve hazırlamaya gittiğini tahmin eder. Bu adımı atlayın, sonuçlarınız anlamsız olabilir -- veya daha kötüsü, güvenle yanlış olabilir.

60 Temizleme 20 Analiz 10 Raporlama 10 Toplama

Yukarıdaki grafik, bir veri projesinde tipik zaman dağılımını gösterir. Temizleme iş yüküne hâkimdir, bu yüzden iyi yapmayı öğrenmek büyük getiriler sağlar.

Eksik Değerlerle Başa Çıkma

Eksik değerler en yaygın veri kalitesi sorunudur. Bir müşteri formdaki gelir alanını boş bırakır. Bir hava durumu istasyonu bir günlüğüne devre dışı kalır. Bir hasta takip randevusunu kaçırır. Soru şudur: bu konuda ne yaparsınız?

Her birinin ödünleşmeleri olan birkaç seçeneğiniz vardır. Eksik değerleri olan satırları silebilirsiniz, bu basittir ancak veri setinizi küçültür ve eksiklik rastgele değilse yanlılık getirebilir (örneğin, yüksek gelirli kişiler gelir sorularını daha sık atlayabilir). Eksik değerleri sütun ortalaması, medyan veya daha sofistike bir tahmin modeli kullanarak doldurabilirsiniz (atfedebilirsiniz). Ya da eksik değerleri işaretleyebilir ve eksikliği analizinizde ayrı bir değişken olarak dahil edebilirsiniz.

Doğru yaklaşım, ne kadar verinin eksik olduğuna ve nedenine bağlıdır. Satırların yalnızca %2'sinde eksik değer varsa ve rastgele görünüyorsa, bu satırları silmek genellikle sorun değildir. Bir sütunun %30'u eksikse, silme çok fazla veriyi çöpe atar ve atfetme veya farklı bir analitik yaklaşım gerekir.

Tekrarlayan Kayıtları Tespit Etme ve Kaldırma

Tekrarlayan kayıtlar sonuçlarınızı şişirebilir ve hesapladığınız her istatistiği çarpıtabilir. Bir müşterinin satın alımı veritabanınızda iki kez görünüyorsa, geliri fazla sayar ve işlem sayısını abartırsınız. Tekrarlar, veri birleştirmeleri, form yeniden gönderimleri, sistem hataları ve manuel veri girişi hataları yoluyla sızar.

Tekrarları bulmak her zaman kolay değildir. Tam tekrarlar (birebir aynı satırlar) tespit etmesi kolaydır. Peki ya "Ahmet Yılmaz" "Atatürk Cd. 123"te ve "A. Yılmaz" "Atatürk Caddesi 123"te? Bunlar muhtemelen küçük farklılıklar içeren aynı kişidir. Bulanık eşleştirme teknikleri yakın tekrarları belirlemeye yardımcı olabilir, ancak iki kaydın birleştirmeden önce ne kadar benzer olması gerektiğine dair yargı kararları gerektirir.

10500 Temizlik Öncesi 420 Kaldırılan Tekrarlar 10080 Temizlik Sonrası

Aykırı Değerlerle İlgilenme

Bir aykırı değer, verinin geri kalanından dramatik biçimde farklı olan bir değerdir. Orta düzey çalışanlardan oluşan bir veri setinde 5.000.000$'lık bir maaş. Temmuz ayında Miami'de -40 derece sıcaklık okuması. 72 saat süren bir web sitesi oturumu.

Aykırı değerlerle ilgili kritik soru, bunların meşru mu yoksa hata mı olduğudur. Bir CEO'nun 5 milyon dolarlık maaşı gerçektir -- sadece farklı bir popülasyonu temsil eder. Miami'de -40 derece neredeyse kesinlikle bir sensör hatasıdır. 72 saatlik web oturumu, birinin bir sekmeyi açık bırakmış olması olabilir.

Hatalar için düzeltme veya kaldırma uygundur. Meşru aykırı değerler için seçenekleriniz vardır: onları tutup sağlam istatistikler kullanabilirsiniz (ortalama yerine medyan gibi), makul bir eşikte sınırlayabilirsiniz (winsorize etme denir) veya ayrı ayrı analiz edebilirsiniz. Sırf olağandışı oldukları için aykırı değerleri asla otomatik olarak silmeyin -- her zaman önce neden var olduklarını araştırın.

Veri Tipi Sorunları

Bilgisayarlar sayıları, metni, tarihleri ve kategorileri farklı şekilde işler. Sayısal bir sütun yanlışlıkla metin değerleri içeriyorsa ("Yok" veya "Belirsiz" gibi), hesaplamalar başarısız olur veya hatalar üretir. Tarihler tutarsız biçimde saklanıyorsa (bazıları "2025-03-15" ve diğerleri "15/03/2025" olarak), sıralama ve filtreleme bozulur. Bir kategori farklı satırlarda farklı yazılıyorsa ("TR", "TUR", "Türkiye"), yazılım bunları üç ayrı grup olarak işler.

Veri tipi temizleme, biçimleri standartlaştırmayı, uygun olduğunda dizeleri sayılara dönüştürmeyi, tarihleri tutarlı bir biçimde ayrıştırmayı ve kategori etiketlerini uyumlu hale getirmeyi içerir. Sıkıcıdır ama zorunludur. Sayısal bir sütundaki tek bir sahte metin değeri, tüm analiz hattını çökertebilir.

Yaygın Tuzaklar

Deneyimli analistler bile veri temizleme sırasında hata yapar. Yaygın bir tuzak, yedek kaydetmeden orijinal veriyi temizlemektir. Her zaman bir kopya üzerinde çalışın. Bir diğeri aşırı temizlemedir -- kalan veri artık temsili olmayacak kadar çok satır ve değer kaldırmak. Üçüncüsü tutarsız temizlemedir -- nedenini belgelemeden veri setinin farklı bölümlerine farklı kurallar uygulamak.

En iyi savunma, bir temizleme günlüğü tutmaktır: yaptığınız her değişikliğin, neden yaptığınızın ve kaç kaydın etkilendiğinin kaydı. Bu, çalışmanızı tekrarlanabilir ve denetlenebilir kılar. Birisi sonuçlarınızı sorguladığında, günlüğe işaret edebilir ve analiz başlamadan önce ham verilere tam olarak ne olduğunu gösterebilirsiniz.

Temel Çıkarım

Veri temizleme, her güvenilir analizin üzerine inşa edildiği gösterişsiz temeldir. Eksik değerleri dikkatli bir şekilde ele alın, tekrarları özenle kaldırın, aykırı değerleri silmeden önce araştırın ve veri tiplerini tutarlı bir şekilde standartlaştırın. Her zaman bir kopya üzerinde çalışın, her değişikliği belgeleyin ve unutmayın: verilerinizi temizlemeye yatırdığınız zaman, verinin gerçekte desteklemediği sonuçlar çıkarmanızı engeller.