Sto usando createFolds()
in R (versione: 3.3.0) per creare partizioni treno/prova. Per rendere riproducibili i risultati, ho utilizzato set.seed()
con un valore di inizializzazione di 10. Come previsto, i risultati (pieghe generate) erano riproducibili.R: set.seed() i risultati non corrispondono se il pacchetto caret è caricato
Ma una volta ho caricato il pacchetto di accento dopo aver impostato il seme. E poi ho usato la funzione createFolds, ho scoperto che le pieghe create erano diverse (anche se ancora riproducibili).
In particolare, le pieghe create differiscono nei seguenti due casi:
Caso 1:
library(caret)
set.seed(10)
folds=createFolds(y,k=5,returnTrain=TRUE)
Caso 2:
set.seed(10)
library(caret)
folds=createFolds(y,k=5,returnTrain=TRUE)
dove y
è un vettore.
Perché questo potrebbe accadere?
Una [domanda simile] (https://github.com/topepo/caret/issues/452) è comparsa l'altro giorno; alcuni pacchetti usano numeri casuali all'avvio – topepo
@topepo c'è qualche modo per aggirare questo problema? Ho lo stesso problema, ma anche se imposto il seed dopo aver caricato il pacchetto di caret. È previsto? Speravo di usare il caret per createFolds, ma ho bisogno di un modo per renderlo riproducibile. EDIT: Ho appena realizzato che non stavo impostando il seed tra le diverse chiamate di 'createFolds()', questo era il problema. – Reilstein