Evet, algoritmanız normalleştirilmiş egzersiz verileriyle çalışıyorsa veya gerekiyorsa verileri test etmek için normalizasyon uygulamanız gerekir *.
Çünkü modeliniz girdi vektörleri tarafından verilen sunum üzerinde çalışır. Bu sayıların ölçeği temsilin bir parçasıdır. Bu biraz metre ve metre arasında dönüştürme gibi. . . bir model veya formül normalde yalnızca bir tür üniteyle çalışır.
Sadece normalleştirmeye değil, aynı zamanda egzersiz verilerinizle aynı ölçeklendirmeyi de uygulamalısınız. Bu, egzersiz verilerinizle kullanılan ölçek ve ofseti saklamak ve tekrar kullanmak anlamına gelir. Genel bir başlangıç hatası, treninizi ve test verilerinizi ayrı ayrı normalleştirmektir.
Python ve SKLearn'de, giriş / X değerlerinizi aşağıdaki gibi Standart Ölçekleyici kullanarak normalleştirebilirsiniz :
scaler = StandardScaler()
train_X = scaler.fit_transform( train_X )
test_X = scaler.transform( test_X )
train_X
Daha sonra uyan (parametreleri belirten) bir fonksiyonun dönüştürülmesinin nasıl normalleştiğine dikkat edin. İken test_X
dönüşüm tren verilerinden öğrenilen aynı params kullanarak sadece dönüşümler.
Uyguladığınız tf-idf normalizasyonu, bir bütün olarak veri kümesindeki bazı parametreleri (tüm belgelerdeki kelimelerin sıklığı) öğrenmesinin yanı sıra her belgede bulunan oranları kullanarak benzer şekilde çalışmalıdır.
* Bazı algoritmalar (karar ağaçlarına dayananlar gibi) normalleştirilmiş girdilere ihtiyaç duymaz ve farklı doğal ölçeklere sahip özelliklerle başa çıkabilir.