Pertimbangkan kecocokan berikut:
fit3a=glmnet(x,g4,family="multinomial",type.multinomial="grouped")
Bagaimana cara saya menunjukkan kolom mana x
yang kategorikal / multinomial? Apakah ada opsi untuk menentukan indeks variabel yang dikelompokkan?
Dokumentasi menjelaskan opsi type.multinomial
sebagai berikut:
Jika "dikelompokkan" maka penalti laso yang dikelompokkan digunakan pada koefisien multinomial untuk suatu variabel. Ini memastikan mereka semua bersama-sama. Standarnya adalah "ungrouped".
sumber
Seperti yang ditunjukkan justmarkham, Anda dapat membuat matriks desain
x
menggunakanmodel.matrix
. Perhatikan bahwa Anda ingin mengecualikan intersep, karena glmnet menyertakan satu secara default. Anda mungkin juga ingin mengubah fungsi kontras default, yang secara default tidak menyertakan satu level dari masing-masing faktor (pengkodean pengobatan). Tetapi karena hukuman laso, ini tidak lagi diperlukan untuk identifikasi, dan bahkan membuat interpretasi dari variabel yang dipilih lebih rumit. Untuk melakukan ini, aturSekarang, level apa pun dari suatu faktor dipilih, Anda dapat menganggapnya sebagai menyarankan bahwa level spesifik ini penting, dibandingkan semua level yang dihilangkan. Dalam pembelajaran mesin, saya telah melihat pengkodean ini disebut sebagai pengkodean satu-panas.
Dengan asumsi bahwa
g4
adaK
level,type.multinomial="grouped"
opsi menentukan bahwa fiturx
semua akan memasuki model secara bersamaan untuk masing-masingK
prediktor linier, yang bertentangan dengan memiliki prediktor linier untuk setiap kelas (secara umum) memiliki fitur-fiturnya sendiri.glmnet
tidak (saat ini?) mendukung jenis hukuman prediktor (x
matriks) yang dikelompokkan . Paketgrplasso
tidak, tetapi ditulis dalam R murni, jadi lebih lambat daripadaglmnet
, tetapi Anda bisa mencobanya.sumber
model.matrix
tidak mengecualikan level apa pun dari variabel kategori pertama saat kita menghilangkan intersep. Haruskah matriks desain menjadi input dalam halglmnet
apa pun? dan bagaimana kita menginterpretasikan tingkat yang tidak diizinkan dari variabel kategori pertama dalam regresi laso?