Tôi muốn chọn ngẫu nhiên n hàng từ tập dữ liệu của mình bằng cách sử dụng chức năng sample()
trong R. Tôi đã nhận được kết quả đầu ra khác nhau mỗi lần và do đó được sử dụng set.seed()
chức năng để có được cùng một đầu ra. Tôi biết rằng mỗi số nguyên trong set.seed()
sẽ cho tôi một đầu ra duy nhất và đầu ra sẽ giống nhau nếu đặt cùng một hạt giống. Nhưng tôi không thể tìm ra số nguyên được chuyển như một tham số cho hàm set.seed()
. Nó chỉ là một chỉ số đi vào thuật toán máy phát ngẫu nhiên hay nó có nghĩa là một phần dữ liệu từ nơi bạn bắt đầu lấy mẫu? Ví dụ: 2
trong số set.seed(2)
có nghĩa là gì?Số nguyên trong khi đặt hạt giống là gì?
Trả lời
Hạt giống ngẫu nhiên (hoặc trạng thái hạt giống hoặc chỉ hạt giống) là số (hoặc vectơ) được sử dụng để khởi tạo trình tạo số giả ngẫu nhiên.
Đối với hạt giống được sử dụng trong trình tạo số giả ngẫu nhiên, nó không cần phải ngẫu nhiên. Bởi vì bản chất của thuật toán tạo số, miễn là hạt giống gốc bị bỏ qua, phần còn lại của các giá trị mà thuật toán tạo ra sẽ theo phân bố xác suất theo cách giả tạo.
Vì vậy, chức năng ngẫu nhiên có thể được thực hiện như thế này:
int rand_r(unsigned int *seed)
{
*seed = *seed * 1103515245 + 12345;
return (*seed % ((unsigned int)RAND_MAX + 1));
}
(mẫu lấy từ glibc)
Nó chỉ là một số được sử dụng để đặt hạt giống cho trình tạo số ngẫu nhiên. Nó không liên quan gì đến dữ liệu của bạn. Nếu bạn không cung cấp một hạt giống một cách rõ ràng, một hạt giống mới sẽ được tạo từ thời điểm hiện tại.
Xem trang trợ giúp ?set.seed
để biết thêm chi tiết về nó.
Trong những ngày cũ, có cuốn sách có chứa pages and pages of random digits (theo thứ tự ngẫu nhiên, tất nhiên).
Tôi thích nghĩ về set.seed(x)
khi yêu cầu máy tính bắt đầu đọc các số ngẫu nhiên từ trang x
trong một số lượng lớn các số ngẫu nhiên. x
không có gì liên quan đến dữ liệu, nhưng làm thế nào để thuật toán lựa chọn các số ngẫu nhiên nên bắt đầu.
Điều này có thể hơi khó khăn, nhưng tôi thích sự tương tự.
- 1. Tham số hạt giống MurmurHash3 là gì?
- 2. 'Hạt giống' có nghĩa là gì?
- 3. Gửi hạt giống/Đặt hạt/C trong mã R
- 4. Cách tốt nhất để hạt giống srand() là gì?
- 5. Đặt tăng hạt giống :: ngẫu nhiên
- 6. Điều gì có nghĩa là khi bạn đặt một @ trước một số nguyên trong Objective-C?
- 7. Số ngẫu nhiên từ hạt giống
- 8. số ngẫu nhiên với hạt giống
- 9. "Hạt Java" là gì?
- 10. Đường ray để đặt lại hạt giống trên trường id
- 11. Chuỗi hạt nhân là gì?
- 12. Cách đặt hạt giống tùy chỉnh cho trình tạo số giả ngẫu nhiên
- 13. Hạt giống ngẫu nhiên Math.random trong Java
- 14. số nguyên chính xác nhiều là gì?
- 15. Kiểu tham chiếu số nguyên trong C# là gì?
- 16. Điều gì khác xảy ra khi sử dụng thời gian làm hạt giống để tạo số ngẫu nhiên?
- 17. Số ngẫu nhiên Java Sử dụng hạt giống
- 18. Giá trị số nguyên tối đa trong Flex là gì?
- 19. Chạy rake db: hạt giống không tải từ hạt giống.rb
- 20. Chia hạt giống thành nhiều phần?
- 21. Tìm hạt giống cho 5 byte PRNG
- 22. Làm thế nào để biết số lượng hạt giống/đồng nghiệp cho một torrent trong PHP
- 23. Phần hạt nhân không khớp là gì?
- 24. C++ tương đương với Random mới (hạt giống) trong C#
- 25. Dữ liệu hạt giống trong các thử nghiệm dưa chuột
- 26. db: hạt giống không tải mô hình
- 27. "Tài nguyên" trong Rails là gì?
- 28. Giống và sử dụng lại các hạt giống ngẫu nhiên của Python
- 29. __init có nghĩa là gì trong mã hạt nhân Linux?
- 30. Đường ray - Kết hợp hạt giống HABTM
Tôi hiểu. Nó giống như một tham số đi vào bộ tạo số ngẫu nhiên psuedo, trả về một số hoặc một chuỗi hoặc số được tạo bởi thuật toán. –
chính xác. hơn nữa, bạn có thể tính toán số ngẫu nhiên "ngẫu nhiên". thông tin tốt đẹp và ngắn có thể được tìm thấy ở đây [link] (http://www.mathstat.dal.ca/~selinger/random). cũng chắc chắn chỉ gọi hàm hạt giống một lần hoặc bạn có thể có cùng một chuỗi các số ngẫu nhiên (ít nhất là trong C). – kometonja