Desidero selezionare casualmente n righe dal mio set di dati utilizzando la funzione sample()
in R. Stavo ricevendo uscite diverse ogni volta e quindi usavo la funzione set.seed()
per ottenere lo stesso risultato. So che ogni numero intero nel set.seed()
mi darà un output unico e l'output sarà lo stesso se impostato lo stesso seme. Ma non sono in grado di capire quale sia l'intero che viene passato come parametro alla funzione set.seed()
. È solo un indice che entra nell'algoritmo del generatore casuale o significa una parte dei dati da cui si avvia il campionamento? Ad esempio, cosa significa il 2
in set.seed(2)
?Che cosa significa il numero intero durante l'impostazione del seme?
risposta
Un seme casuale (o stato seme o solo seme) è un numero (o vettore) utilizzato per inizializzare un generatore di numeri pseudocasuali.
Per un seme da utilizzare in un generatore di numeri pseudocasuali, non è necessario che sia casuale. A causa della natura degli algoritmi di generazione dei numeri, finché il seme originale viene ignorato, il resto dei valori che l'algoritmo genera seguirà la distribuzione di probabilità in modo pseudocasuale.
Quindi, funzione random potrebbero essere attuate in questo modo:
int rand_r(unsigned int *seed)
{
*seed = *seed * 1103515245 + 12345;
return (*seed % ((unsigned int)RAND_MAX + 1));
}
(campione prelevato da glibc)
È solo un numero utilizzato per impostare i semi per il generatore di numeri casuali. Non ha niente a che fare con i tuoi dati. Se non si fornisce esplicitamente un seme, ne viene creato uno nuovo dall'ora corrente.
Vedere la pagina di guida ?set.seed
per un sacco di dettagli su di esso.
Ai vecchi tempi, c'erano libri che contenevano pages and pages of random digits (in ordine casuale, ovviamente).
Mi piace pensare a set.seed(x)
come dire al computer di iniziare a leggere numeri casuali dalla pagina x
in un enorme libro di numeri casuali. x
non ha nulla a che fare con i dati, ma come dovrebbe iniziare l'algoritmo per la scelta dei numeri casuali.
Questo potrebbe essere un po 'facile, ma mi piace l'analogia.
- 1. Che cosa significa in realtà il numero tra parentesi?
- 2. Che cosa significa il numero degli array di regole Eslint?
- 3. Cosa significa numero .access $ XXXX?
- 4. Che cosa significa Material.alphaTest?
- 5. Che cosa significa Opt.out?
- 6. Che cosa significa "sys.argv"?
- 7. Cosa significa un punto dopo un intero significa in python?
- 8. Che cosa significa 8badf00d?
- 9. Che cosa significa CultureInfo.InvariantCulture?
- 10. Numero casuale da un seme
- 11. Che cosa significa _ITERATOR_DEBUG_LEVEL = 1?
- 12. Che cosa significa "192.168.1.1/21"?
- 13. Cosa fa il seme nella foresta casuale?
- 14. Che cosa significa restituire zero per convenzione?
- 15. Che cosa significa costruire?
- 16. Che cosa significa _branch_match_id?
- 17. Che cosa significa "log *"?
- 18. Che cosa significa document.all?
- 19. Che cosa significa "@UIApplicationMain"?
- 20. Che cosa significa MEDIA_ERROR_SERVER_DIED?
- 21. Che cosa significa "Remotabile"?
- 22. Che cosa significa nibNameOrNil?
- 23. Che cosa significa `_time_independent_equals`?
- 24. Che cosa significa __FILE__?
- 25. Che cosa significa "Costruire il linguaggio"?
- 26. Che cosa significa il comando "nodo". fare?
- 27. "Il file del payload non esiste" Che cosa significa?
- 28. Che cosa significa information_schema.TABLES.DATA_FREE significa in MySQL?
- 29. Che cosa significa char * argv [] significa?
- 30. Che cosa significa __utma?
Ho capito. È come un parametro che entra nel generatore di numeri psuedo-random, che restituisce un numero o una serie o numeri generati dall'algoritmo. –
esattamente. inoltre, è possibile calcolare un numero "casuale" arbitrario. informazioni belle e brevi possono essere trovate qui [link] (http://www.mathstat.dal.ca/~selinger/random). assicurati anche di chiamare la funzione seed una sola volta o potresti avere la stessa serie di numeri casuali (almeno in C). – kometonja