Özellik Ölçeklendirme yöntemleri olan Normalizasyon ve Standardizasyon tercihi neye göre yapılır?

Meerim Kubatova
Teknopar Akademi
Published in
4 min readDec 22, 2021

Bir makine öğrenmesi uygulamasında veri seti ile işimiz olacağı kesindir. Veri setinin hazırlanması eğiteceğimiz modelin performansına etki eden en önemli faktörlerden biridir. Özellik Ölçeklendirme (Feature Scaling), veri önişleme aşamasının çok önemli bir parçasıdır, ancak yeni başlayanların birçoğu bunu gözden kaçırmaktadır.

Özellik Ölçeklendirme ile ilgili merak edilen bir konu şudur: bazı makine öğrenme algoritmalarının performansını büyük oranda arttırır ve diğer makine öğrenme algoritmalarında ise hiç bir işe yaramamaktadır. Bunun nedeni nedir?

Bir diğer merak edilen konu ise, makine öğrenmede en sık kullanılan iki farklı Özellik Ölçeklendirme teknikleri olan Normalizasyon ve Standardizasyon arasındaki farktır. Soru, hangisi ne zaman kullanılır ve neden?

İlk önce bu iki tekniğin ne olduğunu inceleyelim. Ardından, etkenlerini ve bu etkenlerin hangi makine öğrenme algoritmarı için önemli olduğuna bakalım.

Normalizasyon, değerleri 0 ile 1 arasında olacak şelikde ölçekleyen bir özellik ölçeklendirme tekniğidir. Özelliğin normalleştirilmiş olan her bir elemanı aşağıdaki formül kullanılarak hesaplanır.

Normalizasyon formülü

x’ — özelliğin normalleştirilmiş elemanı,

x(min) — özelliğin en küçük elemanı,

x — normalleştirilecek olan özellik elemanı,

x(max) — özelliğin en büyük elemanı.

Bu tür ölçeklendirmenin amacı, veri setindeki sayısal sütunların değerlerini değiştirerek aralıklarındaki farklılıkların korunmasıdır. Makine Öğrenmesinde bir veri seti, özellikler farklı aralıklara sahip olduğunda ve bu nedenle Tahmin Değikenleri (Predictor Variables) ile Hedef Değişkeni (Target Variable) arasındaki ilişkinin algısını bozduğu için normalleştirme gerektirir.

Standardizasyon (Z-Score Normalization), farklı değer aralıklarına sahip özellikleri, tahmin etmede mesafeyi kullanan Makine Öğrenimi Modellerine uyarlayan bir özellik ölçeklendirme tekniğidir. Bu tür ölçeklendirmede, Z-Skor (aritmetik ortalama = 0.0 ve standard sapma 1.0) kullanılarak veriler, özelliğin her bir elemanından ortalama değeri çıkarılarak ve sonucunun o özelliğin standart sapmasına bölünecek şekilde dönüştürülür. Bu işlem aşağıdaki gibi hesaplanır:

Standardizasyon formülü

mu— özelliklerin ortalaması,

sigma— özelliklerin standart sapması.

Veri setindeki özelliklerin aralıkları çok büyuk farklılıklar gösterebilir ve tahmin için bir grafikteki noktalar arasındaki mesafenin hesaplanmasına dayanan Makine Öğrenimi modelleri için: k-en yakın komşular (kNN), Destek Vektör Makineleri (SVM), Ağaç kararları (Karar Ağacı), vb., verilerin bozulmasına neden olacaktır. Bunu önlemek için standardizasyon yöntemi kullanılmalıdır.

Z-skoru en popüler standardizasyon yöntemlerinden biridir. Standartlaştırıldıktan sonra, tüm sütunların ortalaması sıfır, standart sapması bir olup model üzerinde aynı etki gösterecektir.

Şekil 1. Standardizasyon

Özellik Ölçeklendirme gerektiren makine öğrenme algoritma türleri:

— Gradient Descent Tabanlı Algoritmalar: linear regression, logistic regression, neural network vb., verinin ölçeklenmesini gerektirir.

— Distance-Based Algoritmalar: KNN, K-Means, SVM birçok özelliklerden en çok etkilenirler. Bunun nedeni, perde arkasında benzerliklerini belirlemek için veri noktaları arasındaki mesafeleri kullanmalarıdır.

Tree-Based Algoritmalar: bu tür algoritmalar ise, özelliklerin ölçeğine karşı oldukça duyarsızdır. Bir düşünelim, bir karar ağacı yalnızca bir düğümü tek bir özelliğe göre böler. Karar ağacı, düğümün homojenliğini arttıran bir özellik üzerinde bir durumu böler. Bir özellik üzerinde bu bölümde, diğer özelliklerden etkilenmez. Bu nedenle, kalan özelliklerin bölünmesi üzerinde neredeyse hiçbir etkisi yoktur. Onları özelliklerin ölçeğinde değişmez yapan da budur.

“Normalizasyon mu, standardizasyon mu?” Yeni başlayanlar arasında bu asırlık bir sorudur. Normalizasyon, verilerimizin dağılımını bilmediğimiz durumda veya verilerimiz Gaussian (normal) dağılımına sahip değilse kullanmak için iyi bir tekniktir. Normalleştirme, verilerimiz değişen ölçeklere sahip olduğunda ve kullandığınız algoritma, KNN ve yapay sinir ağları gibi verilerinizin dağılımı hakkında varsayımlarda bulunmadığında kullanışlıdır.

Standardizasyon, verilerimizin Gauss dağılımına sahip olduğunda kullanılması gerekli olan tekniktir. Bu tekniğin kullanılması zorunludur diye bir kural yoktur, ancak özellik dağılımımız Gauss ise bu teknik daha etkilidir. Standardizasyon, verilerimiz değişen ölçeklere sahip olduğunda ve kullandığımız algoritma, lineer regresyon, lojistik regresyon ve lineer diskriminant analizi gibi Gauss dağılımına sahip verilerimiz hakkında tahminlerde bulunduğumuz durumlarda kullanışlıdır. Verilerinizde aykırı değer olsa bile, standardizasyon onu etkilemez. Normalleştirmeden farklı olarak, standardizasyonun sınırlayıcı bir aralığı yoktur.

Şekil 2. Normalizasyon
Şekil 3. Standardizasyon

Ölçeklendirme metodunun seçimi uğraştığımız probleme ve kullandığımız makine öğrenme algoritmasına bağlıdır. Verilerimizi ne zaman normalleştirmemiz veya standartlaştırmamız gerektiğini bize söyleyecek kesin bir kural yoktur. Her zaman modelimizi ham, normalleştirilmiş ve standartlaştırılmış verilerle tek tek eğitmeyi deneyerek ve sonunda en iyi sonuçlar için performansları karşılaştırabiliriz.

Eğitim Verilerinin ve Test Verilerinin Yalnızca Tahmin Değişkenlerini ölçeklendirmek iyi bir uygulamadır. Model testi sırasında veri sızıntılarını önlemek için Hedef Değişken değişmeden kalır.

Diğer One-Hot Encoding özelliklerine ölçeklendirme teknikleri uygulanmamaktadır. Cünkü, verileri normalleştirmede One-Hot kodlanmış özellikler zaten 0 ile 1 arasında olduğundan, normalleştirme onların değerini etkilemez. Aynı durum standartlaştırma için geçerlidir, kategorik olarak ayrılmış ozelliklere yeniden ölçeklendirme uygulamak işimize yaramaz.

Aşağıdaki şekilde verimizin ölçeklendirme öncesinde, normalleştirme uygulanması sonrasında ve standartlaştırma sonrasında ölçeklerinin farkını görebilirsiniz.

Şekil 4. Özelliklerin ölçeklendirmeden öncesi ve sonrası

Özelliklerin ölçeklendirilmesinin her şeyi perspektife nasıl getirdiğini fark edebilirsiniz. Özellikler artık daha karşılaştırılabilir ve öğrenme modelleri üzerinde benzer bir etkiye sahip olacaktır.

--

--