Cette question a déjà une réponse ici:
Je me rends compte que l’on utilise set.seed()
en R pour la génération de nombres pseudo-aléatoires. Je me rends également compte qu’utiliser le même numéro, comme pour set.seed(123)
vous assurer de pouvoir reproduire les résultats.
Mais ce que je ne comprends pas, c'est ce que signifient les valeurs elles-mêmes. Je joue avec plusieurs fonctions, et certaines utilisent set.seed(1)
ou set.seed(300)
ou set.seed(12345)
. Qu'est-ce que ce nombre signifie (le cas échéant) - et quand devrais-je utiliser un autre.
Par exemple, dans un livre sur set.seed(12345)
lequel je travaille, ils l'utilisent pour créer un ensemble de formation pour les arbres de décision. Puis, dans un autre chapitre, ils utilisent set.seed(300)
pour créer une forêt aléatoire.
Juste ne pas obtenir le nombre.
la source
Réponses:
Le numéro de départ que vous choisissez est le point de départ utilisé dans la génération d'une séquence de nombres aléatoires. C'est pourquoi (si vous utilisez le même générateur de nombres pseudo-aléatoires), vous obtenez les mêmes résultats pour le même numéro d'origine. En ce qui concerne votre deuxième question, ce court extrait de la description de la fonctionnalité équivalente dans Stata pourrait être utile:
http://www.stata.com/manuals13/rsetseed.pdf
la source
En bref, les chiffres eux-mêmes ne veulent rien dire! Si vous consultez le code de quelqu'un d'autre (comme dans les deux exemples que vous avez donnés ci-dessus), les chiffres ne modifient pas la fonctionnalité de la fonction. il n'y a pas non plus de "bons" chiffres pour des fonctions spécifiques. C'est juste au choix des auteurs.
En outre, si vous ne définissez qu'une seule fois la valeur de départ dans votre code, vous pouvez en quelque sorte choisir le nombre de votre choix. La seule chose à laquelle vous devez faire attention, c'est que, si vous vous connectez à d'autres fonctions qui utilisent également des nombres aléatoires, il est bon de choisir une valeur de départ non évidente (il est donc moins probable que vous utilisiez la même valeur de départ. )
Cependant, comme le souligne très gentiment Corcovado, pour certaines applications, vous devez faire très attention au choix que vous faites. Si, mathématiquement, vous avez besoin d'un nombre de nombres générés de manière pseudo-aléatoire, il ne peut y avoir de motif pour les nombres que vous choisissez.
la source
La fonction set.seed () dans R prend un argument entier (arbitraire). Nous pouvons donc prendre n'importe quel argument, par exemple, 1, 123, 300 ou 12345 pour obtenir les nombres aléatoires reproductibles.
De plus, dans le package TeachingDemos, la fonction char2seed permet à l’utilisateur de définir la valeur de départ en fonction d’une chaîne de caractères.
la source