バイナリ データで次のエラスティック ネット モデルを実行しています (1 = 悪い、0 = 良い)。デフォルトでglmnetが適合するモデルのタイプを知っている人はいますか:P(y = 1)またはP(y = 0)。モデルに合わせて前者を選択する方法はありますか。
cv.glmnet(x, y, family="binomial", type.measure="deviance", standardize=FALSE, nfolds=5, alpha=par)
バイナリ データで次のエラスティック ネット モデルを実行しています (1 = 悪い、0 = 良い)。デフォルトでglmnetが適合するモデルのタイプを知っている人はいますか:P(y = 1)またはP(y = 0)。モデルに合わせて前者を選択する方法はありますか。
cv.glmnet(x, y, family="binomial", type.measure="deviance", standardize=FALSE, nfolds=5, alpha=par)
glmnet のドキュメントに埋もれているのは、あなたの答えです ( ?predict.glmnet
R 内で入力してください):
「二項」モデルの場合、因子応答の第 2 レベルに対応するクラスの結果のみが返されることに注意してください。
説明したバイナリ データが単純な数値ベクトルとして割り当てられたy
場合、モデルは P(y=1) フィットを生成します。
> x <- matrix(rnorm(100*20),100,20) # create some sample input
> y <- as.factor(sample(0:1, 100, replace=TRUE))
> levels(y)
[1] "0" "1"
> py1_fit <- glmnet(x, y, family="binomial")
代わりに P(y=0) に対して反転して適合させるには、レベルを並べ替えるだけです。
> y0 <- factor(y, levels=rev(levels(y)))
> levels(y0)
[1] "1" "0"
> py0_fit <- glmnet(x, y0, family="binomial")