Saya mencari paket imputasi KNN. Saya telah melihat paket imputasi ( http://cran.r-project.org/web/packages/imputation/imputation.pdf ) tetapi untuk beberapa alasan fungsi impute KNN (bahkan ketika mengikuti contoh dari deskripsi) hanya tampak untuk memasukkan nilai nol (sesuai di bawah ini). Saya telah melihat-lihat tetapi belum menemukan sesuatu, dan karenanya bertanya-tanya apakah ada yang punya saran lain untuk paket imputasi KNN yang baik?
W
Dalam kode per di bawah ini - nilai-nilai NA diganti dengan nol - bukan oleh nilai rata-rata Knn
require(imputation)
x = matrix(rnorm(100),10,10)
x.missing = x > 1
x[x.missing] = NA
kNNImpute(x, 3)
x
kNNImpute
bekerja sama sekali (daripada bekerja dengan baik), jadi Anda mungkin tidak peduli dengan biasnya.Jawaban:
Anda juga dapat mencoba paket berikut: DMwR .
Itu gagal pada kasus 3 NN, memberikan 'Kesalahan dalam knnImputation (x, k = 3): Kasus lengkap tidak cukup untuk menghitung tetangga.'
Namun, mencoba 2 memberi.
Anda dapat menguji pengamatan yang cukup menggunakan complete.cases (x), di mana nilai itu harus setidaknya k.
Salah satu cara untuk mengatasi masalah ini adalah dengan melonggarkan persyaratan Anda (yaitu baris yang kurang lengkap), dengan 1) meningkatkan ambang NA, atau sebagai alternatif, 2) meningkatkan jumlah pengamatan Anda.
Inilah yang pertama:
di sini adalah contoh ke-2 ...
Setidaknya k = 3 baris lengkap terpenuhi, sehingga dapat menyalahkan untuk k = 3.
sumber
> x (matriks asli)
> y $ x (matriks imputed)
Itu diperhitungkan nilai-nilai yang bisa. Mereka yang tidak dapat diperhitungkan ditetapkan ke nol.
sumber
imputation
paket tidak ada lagi (untuk R versi 3.1.2)Paket imputasi tidak lagi di CRAN.
Satu paket selain DMwR yang menawarkan fungsi imputasi kNN adalah VIM.
Juga mudah digunakan:
sumber
sumber
Alasan R tidak dapat menyalahkan adalah karena dalam banyak kasus, lebih dari satu atribut dalam satu baris tidak ada dan karenanya tidak dapat menghitung tetangga terdekat. Yang dapat Anda lakukan sebagai alternatif adalah variabel interval impute dengan probabilitas yang diproyeksikan dari distribusi normal (atau jika condong menggunakan distribusi Gamma yang memiliki kemiringan serupa). dan menggunakan pohon keputusan untuk memprediksi nilai yang hilang dalam kasus variabel kelas.
sumber