J'essaie de déterminer quel alpha utiliser dans ma glmnet
fonction, mais le fichier d'aide me dit:
Notez que cv.glmnet ne recherche PAS de valeurs pour alpha. Une valeur spécifique doit être fournie, sinon alpha = 1 est supposé par défaut. Si les utilisateurs souhaitent également effectuer une validation croisée alpha, ils doivent appeler cv.glmnet avec un vecteur foldid pré-calculé , puis utiliser ce même vecteur de pli dans des appels distincts à cv.glmnet avec différentes valeurs d'alpha.
Cependant, je ne comprends pas:
- Quel est le vecteur / argument replié.
- Comment créer le vecteur foldid
- Comment utiliser l'argument foldid.
Toute aide à cet égard serait grandement appréciée!
r
lasso
ridge-regression
glmnet
le forestier
la source
la source
Réponses:
fold.id
permet à l'utilisateur de prédéfinir les plis de validation croisée pourcv.glmnet
. Par exemple, si j'ai des donnéesEnsuite, en passant dans la colonne indiquée comme
fold.id
argument,cv.glmnet
les deux premières observations résideront par exemple dans le même pli et les troisième et quatrième observations résideront dans le même pli (différent).Les auteurs suggèrent que si vous souhaitez choisir entre une collection discrète de basée sur une estimation de validation croisée d'une erreur à un optimal , alors il est préférable d'utiliser la même structure de pli dans chaque de vos validations croisées lors de la détermination de chaque .α λα λα
la source
rbinom(now(X), n.folds, rep(1/n.folds, n.folds))
.Selon la vignette Glmnet , une façon de configurer le
foldid
pour glmnet est la suivante:Et ensuite appliquer à une série d'alphas:
La
sample()
fonction vous permet essentiellement de générer un vecteur de nombres aléatoires dans la plage que vous fournissez (= 1: nplis) pour la longueur de la matrice de variable de réponse y . De cette façon, vous affectez chacune de vos lignes de matrice d'entrée à un pli aléatoire (mais maintenant défini).la source