Data Processing — ( Veri Ön İşleme)

Herkese merhaba. Bu yazımda makine öğrenmesi modellerinin olmazsa olmaz aşamalarından “Data Processing” yani Türkçe’siyle veri ön işleme kısmını sizlere konu başlıklarıyla anlatacağım.

If Your Data Is Bad, Your Machine Learning Tools Are Useless

Eğer veriniz kötüyse, makine öğrenmesi araçlarınız kullanışsızdır diyor Thomas C. Redman Hbr’de yayınlanan bir makalesinde.

Çoğu zaman önümüze gelen veri oldukça karmaşık yapılarda ve veri bilimci tahmin modelini eğitmeden önce bunları temizlemek zorunda. Bunun için vaktinin 80%'ini bu aşamada harcıyor ve veri bilimcilerin en çok şikayet ettiği sorunun bu olduğundan bahsediyor aynı zamanda.

Peki verimizi nasıl daha iyi yapabiliriz, hangi yöntemleri kullanırız ?

İşte veri ön işleme başlıkları.

1. Data Cleaning ( Veri Temizleme )

  • Noisy Data ( Gürültülü Veri )

Veri toplama aşamasında insanlar hata yapma eğilimindedir ve bu nedenle toplanan veri setlerinde bazı hatalar olabilir. Bu hatayı gürültü olarak tanımlıyoruz. Örneğin;

  • Missing Data Analysis ( Eksik Veri Analizi )

Veri seti içindeki eksikliklerdir. Data içerisinde NA ya da NULL olarak karşımıza çıkar.

  • Outlier Analysis ( Aykırı Gözlem Analizi )

Aykırı gözlemler (Outliers) verinin çoğunluğundan farklılık gösteren gözlemlerdir.

Örneğin; yaş ortalaması 21 olan bir sınıfta 50 yaşında bir öğrencinin bulunması.

Bu kısım çok önemli olduğundan dolayı konu bütünlüğünü bozmamak adına aşağıda ayrı olarak göstereceğim.

2. Data Standartization ( Veri Standardizasyonu )

  • Normalization (0–1 Dönüşümü)
  • Standartization (Z — skoruna Dönüştürme)
  • Log Transformation (Logaritmik Dönüşüm)

3. Data Reduction ( Veri İndirgeme)

  • Gözlem (Observation) sayısının azaltılması
  • Değişken (Variable) sayısının azaltılması

4. Variable Transform ( Değişken Dönüşümleri)

  • Sürekli değişkenlerde dönüşümler
  • Kategorik değişkenlerde dönüşümler

Gelelim en büyük sorunlarımızdan birine, aykırı gözlemlere. Önce tanımını daha açıkça yapalım.

Aykırı Gözlem : Bir veri setindeki gözlemlerin geri kalanından büyük ölçüde farklı olan gözlemlerdir. Diğer bir tanımla genel eğilimin oldukça dışına çıkan gözlemdir.

Aykırılığı ifade eden nümerik değer aykırı değer.

Aykırı değeri barından gözlem birimi ise aykırı gözlem olarak tanımlandırılır.

Peki bu aykırı gözlem nelere sebep olabilir?

Gördüğümüz gibi ilk grafikteki mavi ile gösterilen doğrunun eğimi negatif yönde fakat ikinci grafikteki doğrunun yönü üst kısımdaki aykırı gözlemler sebebiyle değişmiş ve pozitif yönde. Bu aykırı gözlemler bir yanlılığa sebep olmuş.

Bu yüzden aykırı gözlemlerden kaçınmaya ve onları düzeltmeye çalışırız. Peki nasıl ?

  1. Sektör Bilgisi

Öncelikle üzerinde çalıştığımız veri seti hakkında bilgi sahibi olmalıyız, sektör hakkında uçuk noktaları bilmemizde fayda var. Mesela bir ev fiyat tahmin modelinde 1000 metrekarelik evleri modellemeye almamalıyız çünkü bu uç bir örnektir.

2. Standart Sapma Yaklaşımı

Bir değişkenin ortalamasının üzerine aynı değişkenin standart sapması hesaplarak eklenir. 1, 2 ya da 3 standart sapma değeri ortalama üzerine eklenerek ortaya çıkan bu değer sınır olarak düşünülür ve bu değerden yukarıda ya da aşağıda olan değerler aykırı değer olarak tanımlanır.

3. Z Skoru Yaklaşımı

Değişken standart normal dağılıma uyarlanır ( standardization ). Sonrasında dağılımın sağından ve solundan -+ 2.5 değerine göre bir sınır değer belirlenir ve bu değerin altında veya üzerinde olan değerler aykırı değer olarak işaretlenir.

4. Boxplot Yöntemi ( Interquartile range, IQR)

En sık kullanılan yöntemlerden birisidir.

  • Değişkenin değerleri küçükten büyüğe doğru sıralanır.
  • Çeyrekliklerine göre (Q1 = 0.25, Q3 =0.75) sınır değerleri hesaplanır ve bu sınır değerlere göre aykırı değer tanımları yapılır.
  • IQR = Q3-Q1 değeri hesaplanır.
  • Alt sınır : 1 - 1.5*IQR
  • Üst sınır : 3 + 1.5*IQR

Alt sınır ve üst sınır dışındaki değerler aykırı değer olarak tanımlanır.

haliyle emek gerek, biraz da emeklemek

haliyle emek gerek, biraz da emeklemek