Problèmes avec tuneGrid paramètre dans la forêt au hasard
J'ai eu affaire à quelques très déséquilibrée de données et je voudrais utiliser une méthode d'échantillonnage stratifié à créé plus équilibrée des forêts aléatoires
Maintenant, je suis en utilisant le signe paquet, principalement pour le réglage des forêts aléatoires.
J'ai donc essayer de l'installation d'un tuneGrid de passer dans le mtry et sampsize paramètres en signe de train méthode comme suit.
mtryGrid <- data.frame(.mtry = 100),.sampsize=80)
rfTune<- train(x = trainX,
y = trainY,
method = "rf",
trControl = ctrl,
metric = "Kappa",
ntree = 1000,
tuneGrid = mtryGrid,
importance = TRUE)
Quand je lance cet exemple, j'obtiens l'erreur suivante
The tuning parameter grid should have columns mtry
Je suis venu à travers des débats de cette ce qui suggère que le passage d'un de ces paramètres doit être possible.
D'autre part, cette page suggère que le seul paramètre qui peut être transmis est mtry
Je peux même passer dans sampsize dans les forêts aléatoires via lambda?
OriginalL'auteur mortonjt | 2014-11-12
Vous devez vous connecter pour publier un commentaire.
Il semble qu'il y est un support de problème avec votre
mtryGrid
. Alternativement, vous pouvez également utiliserexpand.grid
pour donner les différentes valeurs demtry
que vous voulez essayer.Par défaut, le seul paramètre que vous pouvez régler pour une forêt aléatoire est
mtry
. Cependant vous pouvez toujours passer les autres paramètres detrain
. Mais ceux-ci ont une valeur fixe, et ainsi de ne pas être à l'écoute partrain
. Mais vous pouvez toujours demander à l'utilisation d'un échantillon stratifié danstrain
. Ci-dessous est comment je pourrais faire, en supposant quetrainY
est une variable booléenne selon lequel vous souhaitez classer vos échantillons, et que vous souhaitez des échantillons de taille 80 pour chaque catégorie:ce qui est une bonne ressource pour savoir quels paramètres vous pouvez paramétrer pour chaque méthode (par exemple,
mtry
pourrf
)? Je pensais que je pourrais ajouterntree
et exécuter dans le même problème...Tant pis, j'ai trouvé
Et si vous ne voulez pas de lire la documentation:
caret::modelLookup(model = "rf")
OriginalL'auteur Garnieje
Je doute que l'on peut passer directement
sampsize
etstrata
àtrain
. Mais à partir de ici je crois que la solution est d'utilisertrControl()
. C'est,où
X
peut être l'un desc("up","down","smote","rose")
.OriginalL'auteur qoheleth