1
這裏有一些數據:爲什麼knnImpute preProcess會更改其他數據?這是在錯誤
> head(p.full)[,1:3]
id timestamp full_sq
1 30474 16617 39.00
2 30475 16617 79.20
3 30476 16617 40.50
4 30477 16617 62.80
5 30478 16617 40.00
6 30479 16617 48.43
有未顯示的上方,我用預處理從插入符號中位值,以填補他們的一些缺失值:
p.full.medians <- predict(preProcess(p.full, method=c("medianImpute")), p.full)
> head(p.full.medians)[,1:3]
id timestamp full_sq
1 30474 16617 39.00
2 30475 16617 79.20
3 30476 16617 40.50
4 30477 16617 62.80
5 30478 16617 40.00
6 30479 16617 48.43
精確和上面一樣,因爲我所展示的同樣的DF沒有缺失值。
但後來我試着用KNN轉嫁給:
p.full.knn <- predict(preProcess(p.full, method=c("knnImpute")), p.full)
> head(p.full.knn)[,1:3]
id timestamp full_sq
1 1.036042 0.9665495 -0.4296467
2 1.036133 0.9665495 0.7133352
3 1.036224 0.9665495 -0.3869981
4 1.036315 0.9665495 0.2470441
5 1.036405 0.9665495 -0.4012143
6 1.036496 0.9665495 -0.1615293
現在的值在數據幀已經被改變,而我只希望NA值改變。
這是預期嗎?我誤解了knnImpute的工作原理嗎?
啊,它的規模。當然,我應該注意到這一點。非常感謝你! –
非常歡迎。很容易錯過:) – LyzandeR