Betrachten Sie die folgende Passform:
fit3a=glmnet(x,g4,family="multinomial",type.multinomial="grouped")
Wie gebe ich an, welche Spalten x
kategorisch / multinomial sind? Gibt es eine Option, um den Index der gruppierten Variablen anzugeben?
In der Dokumentation wird die Option type.multinomial
wie folgt beschrieben:
Wenn "gruppiert", wird eine gruppierte Lasso-Strafe für die multinomialen Koeffizienten für eine Variable verwendet. Dies stellt sicher, dass sie alle zusammen in unserem Out sind. Der Standardwert ist "nicht gruppiert".
quelle
Wie justmarkham betont, können Sie die Entwurfsmatrix
x
mithilfe von erstellenmodel.matrix
. Beachten Sie, dass Sie den Intercept ausschließen möchten, da glmnet standardmäßig einen enthält. Möglicherweise möchten Sie auch die Standardkontrastfunktion ändern, bei der standardmäßig eine Ebene jedes Faktors weggelassen wird (Behandlungscodierung). Aufgrund der Lasso-Strafe ist dies jedoch für die Identifizierbarkeit nicht mehr erforderlich und erschwert die Interpretation der ausgewählten Variablen. Stellen Sie dazu einUnabhängig davon, welche Ebenen eines Faktors ausgewählt sind, können Sie sich vorstellen, dass diese spezifischen Ebenen im Vergleich zu allen ausgelassenen Ebenen von Bedeutung sind. Beim maschinellen Lernen habe ich gesehen, dass diese Codierung als One-Hot-Codierung bezeichnet wird.
Unter der Annahme , dass
g4
hatK
Ebene, dietype.multinomial="grouped"
Option gibt , dass die Funktionen vonx
werden alle das Modell gleichzeitig für jeden der EingabeK
linearen Prädiktoren, im Gegensatz zu mit dem linearen Prädiktors für jede Klasse (im allgemeinen) ein eigenes Merkmal aufweist.glmnet
unterstützt (derzeit?) keine gruppierten Strafen von Prädiktoren (diex
Matrix). Das Paketgrplasso
funktioniert, ist aber in reinem R geschrieben, ist also langsamer alsglmnet
, aber Sie könnten es versuchen.quelle
model.matrix
schließt keine Ebene von der ersten kategorialen Variablen aus, wenn wir den Achsenabschnitt weglassen. Sollte die Entwurfsmatrixglmnet
unabhängig davon eine Eingabe sein ? und wie interpretieren wir die nicht ausgelassene Ebene der ersten kategorialen Variablen in der Lasso-Regression?