Esta pergunta já tem uma resposta aqui:
Percebo que se usa set.seed()
em R para geração de números pseudo-aleatórios. Também percebo que usar o mesmo número, como set.seed(123)
garante que você possa reproduzir resultados.
Mas o que não entendo é o que os próprios valores significam. Estou jogando com várias funções, e algumas usam set.seed(1)
ou set.seed(300)
ou set.seed(12345)
. O que esse número significa (se houver) - e quando devo usar um número diferente.
Por exemplo, em um livro em que estou trabalhando, eles usam set.seed(12345)
ao criar um conjunto de treinamento para árvores de decisão. Em outro capítulo, eles estão usando set.seed(300)
para criar uma floresta aleatória.
Só não pegue o número.
r
random-generation
mylesg
fonte
fonte
Respostas:
O número de semente escolhido é o ponto de partida usado na geração de uma sequência de números aleatórios, e é por isso que (desde que você use o mesmo gerador de números pseudo-aleatórios) você obterá os mesmos resultados com o mesmo número de semente. No que diz respeito à sua segunda pergunta, este pequeno trecho da descrição da funcionalidade equivalente no Stata pode ser útil:
http://www.stata.com/manuals13/rsetseed.pdf
fonte
Em suma, os próprios números realmente não significam nada! Se você estiver olhando o código de outra pessoa (como nos dois exemplos que você deu acima), os números não alteram a funcionalidade da função; nem existem números "bons" para funções específicas. É apenas uma escolha dos autores.
Além disso, se você estiver definindo a semente apenas uma vez no código, poderá escolher o número que desejar. A única coisa de que você precisa ter um pouco de cuidado é que, se você interagir com outras funções que também usam números aleatórios, é bom escolher uma semente não óbvia (por isso é menos provável que vocês dois usem a mesma semente) )
No entanto, como o Corcovado realmente destaca, para alguns aplicativos, você precisa ter muito cuidado com a escolha que faz. Se matematicamente você precisar de vários números gerados pseudoaleatoriamente, não poderá haver um padrão para os números que você escolher.
fonte
A função set.seed () em R usa um argumento inteiro (arbitrário). Portanto, podemos usar qualquer argumento, digamos, 1 ou 123 ou 300 ou 12345 para obter os números aleatórios reproduzíveis.
Além disso, no pacote TeachingDemos, a função char2seed permite ao usuário definir a semente com base em uma sequência de caracteres.
fonte