3

Cross Validate glmnet: which is the reference category or class in多項式回帰での私の質問に従ってください。、多項ロジスティック回帰のためにglmnetで参照カテゴリを設定する方法を誰かが説明できますか?

glmnet は縮小方法 (Ridge、Lasso など) を適用するためのものですが、そのドキュメントも glmnet フォーラムもこの質問に答えていません。

前もって感謝します

4

1 に答える 1

3

関数 glmnet でそれを行うことはできませんが、model.matrix を使用して関数を実行する直前に非常に簡単に行うことができます。

a <- factor( rep(c("cat1", "cat2", "cat3", "no-cat"),50) ) #make a factor
levels(a) <- c("no-cat", "cat1", "cat2", "cat3") #change the order of the levels because 
#the first category is always the reference category using the model.matrix function
df <- data.frame(a) #put the factor in a dataframe

dummy_a <- model.matrix(~a,data=df) #make dummies for the factor. 
#Note the first category of the levels(a) will get excluded i.e. 
#become the reference category

cat_dummified <- dummy_a[,2:4] #the first column is the intercept i.e. a column of 1s
#which we exclude here

> head(cat_dummified)
  acat1 acat2 acat3
1     0     0     0
2     1     0     0
3     0     1     0
4     0     0     1
5     0     0     0
6     1     0     0

> class(cat_dummified)
[1] "matrix"

cat_dummifiedもあり、関数class matrixですぐに使用できglmnetます。このようにして、係数を持つダミーが 3 つだけになり、猫なしのカテゴリに対して参照されます。

お役に立てれば!

于 2014-11-29T18:58:11.593 に答える