Esta pregunta ya tiene una respuesta aquí:
Me doy cuenta de que uno usa set.seed()
en R para la generación de números pseudoaleatorios. También me doy cuenta de que usar el mismo número, como set.seed(123)
asegura, puede reproducir resultados.
Pero lo que no entiendo es qué significan los valores mismos. Estoy jugando con varias funciones, y algunas uso set.seed(1)
o set.seed(300)
o set.seed(12345)
. ¿Qué significa ese número (si es que hay algo) y cuándo debo usar uno diferente?
Ejemplo, en un libro en el que estoy trabajando, lo usan set.seed(12345)
cuando crean un conjunto de capacitación para árboles de decisión. Luego, en otro capítulo, lo están utilizando set.seed(300)
para crear un bosque aleatorio.
Simplemente no obtengas el número.
r
random-generation
mylesg
fuente
fuente
Respuestas:
El número de semilla que elija es el punto de partida utilizado en la generación de una secuencia de números aleatorios, razón por la cual (siempre que use el mismo generador de números pseudoaleatorios) obtendrá los mismos resultados con el mismo número de semilla. En lo que respecta a su segunda pregunta, este breve fragmento de la descripción de la funcionalidad equivalente en Stata podría ser útil:
http://www.stata.com/manuals13/rsetseed.pdf
fuente
En resumen, ¡los números en sí mismos realmente no significan nada! Si está mirando el código de otra persona (como en los dos ejemplos que dio anteriormente), los números no alteran la funcionalidad de la función; tampoco hay números "buenos" para funciones específicas. Todo depende de la elección de los autores.
Además, si solo establece la semilla una vez en su código, puede elegir el número que desee. Lo único que debe tener un poco de cuidado es que, si interactúa con otras funciones que también usan números aleatorios, entonces es bueno elegir una semilla no obvia (por lo que es menos probable que ambos usen la misma semilla )
Sin embargo, como Corcovado señala muy bien, para algunas aplicaciones, debe tener mucho cuidado con la elección que haga. Si matemáticamente necesita una cantidad de números generados seudoaleatoriamente, entonces no puede haber un patrón para los números que elija.
fuente
The set.seed()function in R takes an (arbitrary) integer argument. So we can take any argument, say, 1 or 123 or 300 or 12345 to get the reproducible random numbers.
Also, in theTeachingDemos package, the char2seed function allows user to set the seed based on a character string.
fuente