Aşağıdaki açıklama dayanmaktadır fit_transform
ait Imputer
sınıfının, ama fikir için aynıdır fit_transform
diğer scikit_learn sınıfları gibi bir MinMaxScaler
.
transform
eksik 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 fit
bazı verilerden elde edilen kolonların araçlarını hesaplar ve transform
bu 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
, fit
bunu 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?
fit
Bir imputer ait olan ilgisi yoktur fit
uydurma modelinde kullanılan. Böylece, imputer'ın fit
antrenman verilerini kullanmak sadece her antrenman verisi sütununun araçlarını hesaplar. transform
Test verilerinin kullanılması , test verilerinin eksik değerlerini, eğitim verilerinden hesaplanan araçlarla değiştirir.