Aşağıdaki açıklama dayanmaktadır fit_transformait Imputersınıfının, ama fikir için aynıdır fit_transformdiğer scikit_learn sınıfları gibi bir MinMaxScaler.
transformeksik olan değerleri bir sayı ile değiştirir. Varsayılan olarak, bu sayı seçtiğiniz bazı verilerin sütunlarını ifade eder. Aşağıdaki örneği düşünün:
imp = Imputer()
# calculating the means
imp.fit([[1, 3], [np.nan, 2], [8, 5.5]])
Şimdi, kullanıcı, iki sütunlu verilere uygulandığında ilk sütun için bir ortalama (1 + 8) / 2 = 4.5 ve ikinci sütun için ortalama (2 + 3 + 5.5) / 3 = 3.5 kullanmayı öğrendi:
X = [[np.nan, 11],
[4, np.nan],
[8, 2],
[np.nan, 1]]
print(imp.transform(X))
alırız
[[4.5, 11],
[4, 3.5],
[8, 2],
[4.5, 1]]
Böylece, kullanıcı tarafından fitbazı verilerden elde edilen kolonların araçlarını hesaplar ve transformbu sayede bazı araçları bu araçlara uygular (bu sadece eksik değerleri araçlarla değiştirir). Her iki verinin de aynı olması durumunda (yani, araçların hesaplanması için veriler ve araçlara uygulanan veriler) fit_transform, fitbunu temelde a transform.
Şimdi sorularınız:
Neden verileri dönüştürmemiz gerekebilir?
"Çeşitli nedenlerle, gerçek dünyada pek çok veri kümeleri ancak. Sıklıkla boşlukları, NaN'ler veya diğer tutucu olarak kodlanmış, bu tür veri setlerini eksik değerleri içeren bir dizideki tüm değerler sayısal olduğunu kabul kestiricilerini scikit-öğrenme ile uyumsuz" ( kaynak )
Eğitim verisine uydurma modeli ve test verisine dönüştürme ne demektir?
fitBir imputer ait olan ilgisi yoktur fituydurma modelinde kullanılan. Böylece, imputer'ın fitantrenman verilerini kullanmak sadece her antrenman verisi sütununun araçlarını hesaplar. transformTest verilerinin kullanılması , test verilerinin eksik değerlerini, eğitim verilerinden hesaplanan araçlarla değiştirir.