les valeurs de réglage du ntree et mtry aléatoire de la forêt modèle de régression
Je suis en utilisant le package R randomForest
à faire une régression sur certaines données biologiques. Ma formation à la taille des données est 38772 X 201
.
Je me demandais---ce serait une bonne valeur pour le nombre d'arbres ntree
et le nombre de variables par niveau mtry
? Est-il une formule approximative pour trouver de telles valeurs de paramètre?
Chaque ligne de mes données d'entrée est de 200 caractères représentant la séquence d'acides aminés, et je veux construire un modèle de régression à utiliser une telle séquence dans le but de prédire les distances entre les protéines.
- Cela sonne plus comme un travail pour stats.stackexchange.com
- Je suis d'accord, même si une amende question, il n'a pas sa place ici. Aussi, peut-être essayer de la rendre plus lisible.
- Dans la réalité de la construction de forêts aléatoires à partir de grands ensembles de données, ntrees est souvent un compromis entre performance et précision.
Vous devez vous connecter pour publier un commentaire.
La valeur par défaut pour mtry est tout à fait raisonnable, donc il n'y a pas vraiment besoin de coucher avec elle. Il y a une fonction
tuneRF
pour l'optimisation de ce paramètre. Cependant, être conscient que cela peut entraîner des biais.Il n'y a pas d'optimisation pour le nombre de bootstrap réplique. Je commence souvent avec
ntree=501
et puis parcelle de la forêt aléatoire de l'objet. Cela va vous montrer l'erreur de convergence en fonction de l'OOB erreur. Vous voulez assez d'arbres pour stabiliser l'erreur, mais pas autant que vous sur la corrélation de l'ensemble, ce qui conduit à overfit.Ici est la mise en garde: variable interactions se stabiliser à un rythme plus lent que l'erreur donc, si vous avez un grand nombre de variables indépendantes, vous avez besoin de plus de répétitions. Je voudrais garder le ntree un nombre impair donc des liens peut être rompu.
Pour les dimensions de votre problème, je voudrais commencer
ntree=1501
. Je voudrais également recommandé à la recherche sur un seul des approches de sélection de variables pour réduire le nombre de vos variables indépendantes.rfcv
(expliqué ici aussi, stats.stackexchange.com/questions/112556/...). Je l'ai trouvé utile pour enlever le moins important des variables indépendantes.La réponse courte est non.
La
randomForest
fonction des cours a des valeurs par défaut pour les deuxntree
etmtry
. La valeur par défaut pourmtry
est souvent (mais pas toujours), il est raisonnable, alors que généralement, les gens veulent augmenterntree
, il est par défaut de 500 tout à fait un peu.La valeur "correct" pour
ntree
n'est généralement pas une préoccupation, car il sera tout à fait évident, avec un peu de bricolage que les prédictions du modèle ne change pas beaucoup après un certain nombre d'arbres.Vous pouvez passer (lire: les déchets) beaucoup de temps à bricoler avec des choses comme
mtry
(etsampsize
etmaxnodes
etnodesize
etc.), probablement certains avantages, mais dans mon expérience, qui n'est pas beaucoup. Cependant, chaque ensemble de données sera différent. Parfois, vous pouvez voir une grande différence, parfois pas du tout.La signe paquet a une fonction très générale
train
qui permet de faire une grille simple recherche sur des valeurs de paramètre commemtry
pour une grande variété de modèles. Ma seule précaution serait que de le faire avec assez de grands ensembles de données est susceptible d'obtenir beaucoup de temps assez rapidement, alors faites attention pour que.Aussi, en quelque sorte, j'ai oublié que le ranfomForest emballage lui-même a une
tuneRF
fonction qui est spécifiquement pour la recherche de la "optimale" de la valeur pourmtry
.Puisse ce livre aider ?
Limiter le Nombre d'Arbres dans les Forêts Aléatoires
Ils n'utilisez jamais de plus de 200 arbres.
J'utilise le code ci-dessous pour vérifier que j'ai jouer avec ntree et mtry (modifier les paramètres):
Une belle astuce que j'utilise est de d'abord commencer avec le premier prenant la racine carrée du nombre de prédicteurs et la fiche de la valeur pour "mtry". Il est généralement autour de la même valeur que tunerf fonction dans la forêt au hasard choisir.