Lấy mẫu ngẫu nhiên []
Dữ liệu ngẫu nhiên đơn giản
[d0, d1, …, dn]Các giá trị ngẫu nhiên trong một hình nhất định. [d0, d1, …, dn]Trả về một mẫu [hoặc các mẫu] từ phân phối "chuẩn chuẩn". [low[, high, size, dtype]]Trả về số nguyên ngẫu nhiên từ thấp [bao gồm] đến cao [độc quyền]. [low[, high, size]]Số nguyên ngẫu nhiên kiểu np. int giữa thấp và cao, bao gồm. [[size]]Trả về số float ngẫu nhiên trong khoảng thời gian nửa mở [0. 0, 1. 0]. [[size]]Trả về số float ngẫu nhiên trong khoảng thời gian nửa mở [0. 0, 1. 0]. [[size]]Trả về số float ngẫu nhiên trong khoảng thời gian nửa mở [0. 0, 1. 0]. [[size]]Trả về số float ngẫu nhiên trong khoảng thời gian nửa mở [0. 0, 1. 0]. [a[, size, replace, p]]Tạo một mẫu ngẫu nhiên từ một mảng 1-D nhất định[độ dài]Trả về các byte ngẫu nhiênhoán vị
[x] Sửa đổi một chuỗi tại chỗ bằng cách xáo trộn nội dung của nó. [x]Hoán vị ngẫu nhiên một dãy hoặc trả về một dãy đã hoán vịphân phối
[a, b[, size]]Vẽ mẫu từ bản phân phối Beta. [n, p[, size]]Vẽ mẫu từ phân phối nhị thức. [df[, size]]Vẽ mẫu từ phân phối chi-square. [alpha[, size]]Vẽ mẫu từ bản phân phối Dirichlet. [[scale, size]]Vẽ mẫu từ phân phối hàm mũ. [dfnum, dfden[, size]]Vẽ các mẫu từ phân phối F. [hình dạng [, tỷ lệ, kích thước]] Vẽ các mẫu từ phân phối Gamma. [p[, size]]Vẽ mẫu từ phân bố hình học. [[loc, tỷ lệ, kích thước]]Vẽ mẫu từ bản phân phối Gumbel. [good, nba, sample[, size]]Vẽ các mẫu từ phân phối Hypergeometric. [[loc, tỷ lệ, kích thước]]Lấy mẫu từ Laplace hoặc phân phối hàm mũ kép với vị trí [hoặc trung bình] và tỷ lệ [phân rã] được chỉ định. [[loc, tỷ lệ, kích thước]]Lấy mẫu từ phân phối hậu cần. [[mean, sigma, size]] Vẽ các mẫu từ phân phối log-chuẩn. [p[, size]]Vẽ mẫu từ phân phối chuỗi logarit. [n, pvals[, size]]Vẽ mẫu từ phân phối đa thức. [mean, cov[, size, …] Rút ra các mẫu ngẫu nhiên từ phân phối chuẩn nhiều biến. [n, p[, size]]Rút mẫu từ phân phối nhị thức âm. [df, nonc[, size]]Vẽ mẫu từ phân phối chi bình phương không chính giữa. [dfnum, dfden, nonc[, size]]Vẽ các mẫu từ phân phối F không tập trung. [[loc, tỷ lệ, kích thước]]Vẽ các mẫu ngẫu nhiên từ phân phối chuẩn [Gaussian]. [a[, size]]Vẽ các mẫu từ phân phối Pareto II hoặc Lomax với hình dạng cụ thể. [[lam, size]]Vẽ mẫu từ phân phối Poisson. [a[, size]]Vẽ các mẫu trong [0, 1] từ phân phối lũy thừa với số mũ dương a - 1. [[scale, size]]Vẽ các mẫu từ phân phối Rayleigh. [[size]]Vẽ mẫu từ phân phối Cauchy chuẩn với mode = 0. [[size]]Vẽ mẫu từ phân phối mũ tiêu chuẩn. [shape[, size]]Vẽ mẫu từ phân phối Gamma tiêu chuẩn. [[size]]Vẽ các mẫu từ phân phối Chuẩn chuẩn [mean=0, stdev=1]. [df[, size]]Vẽ mẫu từ phân phối t Student chuẩn với bậc tự do df. [trái, chế độ, phải[, kích thước]] Vẽ các mẫu từ phân bố tam giác trong khoảng thời gianSyntax:23. [[thấp, cao, kích thước]]Vẽ các mẫu từ phân phối đồng đều. [mu, kappa[, size]]Vẽ các mẫu từ phân bố von Mises. [trung bình, tỷ lệ[, kích thước]]Vẽ các mẫu từ phân phối Wald hoặc Gaussian nghịch đảo. [a[, size]]Vẽ mẫu từ phân phối Weibull. [a[, size]]Vẽ mẫu từ bản phân phối Zipf
random.choices[sequence, weights=None, cum_weights=None, k=1]
Trình tạo ngẫu nhiên
[[hạt giống]]Vùng chứa cho trình tạo số giả ngẫu nhiên Mersenne Twister. [[seed]]Gieo hạt máy phát điện. []Trả về một tuple đại diện cho trạng thái bên trong của trình tạo. [trạng thái]Đặt trạng thái bên trong của trình tạo từ một bộThách đấu. Đưa ra một danh sách. Bạn sẽ chọn một số ngẫu nhiên từ danh sách bằng cách sử dụng phân phối xác suất như thế nào?
Khi bạn chọn ngẫu nhiên một số từ danh sách bằng phân phối xác suất nhất định, số đầu ra được tạo sẽ là một số được trả về dựa trên trọng số tương đối [xác suất] của các số đã cho. Hãy thử hình dung điều này với sự trợ giúp của một ví dụ
Ví dụ
Given: numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] Expected Output: Choose the elements randomly from the given list and display 5 elements in the output list: [30, 10, 20, 30, 30] Note: The output can vary.
Đầu ra dự kiến có số '30' ba lần vì nó có trọng số/xác suất cao nhất. Trọng số tương đối được chỉ định là 0. 3, 0. 2 và 0. 5, tương ứng. Điều này có nghĩa là
- Cơ hội chọn 10 là 30%
- Cơ hội chọn 20 là 20%
- Cơ hội chọn 30 là 50%
Ghi chú. Trước tiên, chúng ta sẽ xem xét nhiều cách giải quyết câu hỏi đã cho và sau đó đi sâu vào một số bài tập để hiểu rõ hơn. Vì vậy, không chậm trễ hơn nữa, hãy đi sâu vào câu hỏi quan trọng về sứ mệnh của chúng ta và giải quyết nó
Video giải thích nhanh
Lấy mẫu một số ngẫu nhiên từ phân phối xác suất trong Python
Xem video này trên YouTube
Phương pháp 1. Sử dụng ngẫu nhiên. lựa chọn
Syntax:
6 là một phương thức của mô-đun
random.choices[sequence, weights=None, cum_weights=None, k=1]Syntax:
7 trong Python trả về một danh sách chứa các mục được chọn ngẫu nhiên từ trình tự đã chỉ định. Trình tự này có thể là một danh sách, bộ dữ liệu, chuỗi hoặc bất kỳ loại trình tự nào khác
random.choices[sequence, weights=None, cum_weights=None, k=1]- Khả năng chọn trọng số có thể được chỉ định bằng cách sử dụng tham số
Syntax:
8 hoặc
random.choices[sequence, weights=None, cum_weights=None, k=1]Syntax:
9
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:ParameterDescriptionsequence– Đây là tham số bắt buộc.
random.choices[sequence, weights=None, cum_weights=None, k=1]
– Đại diện cho một chuỗi như dãy số, danh sách, bộ, v.v. trọng số– Đây là một tham số tùy chọn.
– Đại diện cho một danh sách trong đó khả năng của từng giá trị có thể được cân nhắc.
– Theo mặc định, nó là Không có. cum_weights– Đây là một tham số tùy chọn.
– Đại diện cho một danh sách có thể cân nhắc khả năng của từng giá trị. Tuy nhiên, khả năng, trong trường hợp này, là tích lũy. Ví dụ. trọng lượng bình thường.
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]0 tương đương với cum_weights.
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]1.
– Theo mặc định, nó là Không có. k– Nó là một tham số tùy chọn.
– Đại diện cho một số nguyên xác định độ dài của danh sách được trả về.
Tiếp cận. Gọi hàm
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]2 và nạp vào danh sách đã cho và phân phối trọng số/xác suất dưới dạng tham số
Mã số
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]
đầu ra
Syntax:0
random.choices[sequence, weights=None, cum_weights=None, k=1]
thận trọng
- Nếu trọng số tương đối hoặc trọng số tích lũy không được chỉ định thì hàm
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]
2 sẽ tự động chọn các phần tử có xác suất bằng nhau - Các trọng số được chỉ định phải luôn có cùng độ dài với trình tự đã chỉ định
- Nếu bạn chỉ định trọng lượng tương đối cũng như trọng số tích lũy cùng một lúc, bạn sẽ nhận được TypeError [
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]
4]. Do đó, để tránh lỗi, không chỉ định cả hai cùng một lúc Syntax:
9 hoặc
random.choices[sequence, weights=None, cum_weights=None, k=1]Syntax:
8 chỉ có thể là số nguyên, số thực và phân số. Chúng không thể là số thập phân. Ngoài ra, bạn phải đảm bảo rằng các trọng số không âm
random.choices[sequence, weights=None, cum_weights=None, k=1]
Phương pháp 2. sử dụng numpy. ngẫu nhiên. sự lựa chọn
Một cách khác để lấy mẫu một số ngẫu nhiên từ phân phối xác suất là sử dụng hàm
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]7
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]8 là một phương thức của mô-đun
import random numbers = [10, 20, 30] distributions = [0.3, 0.2, 0.5] random_number = random.choices[numbers, distributions, k=5] print[random_number]9 cho phép bạn tạo một giá trị ngẫu nhiên dựa trên một mảng có nhiều mảng. Nó chấp nhận một mảng làm tham số và trả về ngẫu nhiên một trong các giá trị từ mảng
Syntax:8ParameterDescriptionarr– Đại diện cho mảng chứa dãy số ngẫu nhiên. k– Đại diện cho một số nguyên xác định độ dài của danh sách trả về. p– Đại diện cho một danh sách có thể cân nhắc khả năng của từng giá trị. Nói một cách đơn giản, đó là phân phối xác suất của từng giá trị của mảng đã cho
random.choices[sequence, weights=None, cum_weights=None, k=1]
Tiếp cận. Sử dụng hàm
Syntax:00 sao cho
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:01 được đặt thành
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:02 để trả về danh sách yêu cầu
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:03 từ danh sách
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:04 đối với danh sách các chuỗi trọng số tương ứng
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:8
random.choices[sequence, weights=None, cum_weights=None, k=1]
Mã số
Syntax:5
random.choices[sequence, weights=None, cum_weights=None, k=1]
đầu ra
Syntax:6
random.choices[sequence, weights=None, cum_weights=None, k=1]
Bạn có muốn trở thành một bậc thầy NumPy? . [Liên kết Amazon mở trong tab mới. ]
Phương pháp 3. Sử dụng scipy
Syntax:06 là một thư viện thủ công khác để xử lý các bản phân phối có trọng số ngẫu nhiên
random.choices[sequence, weights=None, cum_weights=None, k=1]
- là một lớp cơ sở được sử dụng để xây dựng các thể hiện và lớp phân phối cụ thể cho các biến ngẫu nhiên rời rạc. Nó cũng được sử dụng để xây dựng một phân phối tùy ý được xác định bởi danh sách các điểm hỗ trợ và xác suất tương ứng. [nguồn. ]
Giải trình. Trong đoạn mã sau,
Syntax:08 lấy chuỗi giá trị số nguyên có trong danh sách
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:09 làm đối số đầu tiên và phân phối xác suất/trọng số làm đối số thứ hai và trả về các giá trị ngẫu nhiên từ danh sách dựa trên phân phối trọng lượng/xác suất tương đối của chúng
random.choices[sequence, weights=None, cum_weights=None, k=1]
Mã số
Syntax:0
random.choices[sequence, weights=None, cum_weights=None, k=1]
đầu ra
Syntax:1
random.choices[sequence, weights=None, cum_weights=None, k=1]
Phương pháp 4. Sử dụng Lea
Một thư viện Python hiệu quả khác giúp chúng ta làm việc với phân phối xác suất là Lea. Nó được thiết kế đặc biệt để tạo điều kiện cho bạn lập mô hình nhiều hiện tượng ngẫu nhiên, như tung đồng xu, cờ bạc. Nó cho phép bạn lập mô hình nhiều hiện tượng ngẫu nhiên, như ném xúc xắc, tung đồng xu, kết quả cờ bạc, dự báo thời tiết, tài chính, v.v.
#Ghi chú. Vì
Syntax:80 là thư viện bên ngoài nên bạn phải cài đặt nó trước khi sử dụng. Đây là lệnh để cài đặt
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:80 trong hệ thống của bạn.
random.choices[sequence, weights=None, cum_weights=None, k=1]
Syntax:82
random.choices[sequence, weights=None, cum_weights=None, k=1]
Mã số
Syntax:5
random.choices[sequence, weights=None, cum_weights=None, k=1]
đầu ra
Syntax:0
random.choices[sequence, weights=None, cum_weights=None, k=1]
bài tập
Câu hỏi 1. Bạn Harry của chúng ta có tám cây bút chì màu. [“đỏ”, “xanh lá cây”, “xanh dương”, “vàng”, “đen”, “trắng”, “hồng”, “cam”]. Harry có ưu tiên trọng số để chọn từng màu như. [24/1, 6/1, 6/1, 12/1, 12/1, 24/1, 8/1, 24/7]. Anh ta chỉ được phép chọn ba màu cùng một lúc. Tìm các kết hợp khác nhau mà anh ta có thể chọn trong 10 lần thử
Dung dịch
Syntax:1
random.choices[sequence, weights=None, cum_weights=None, k=1]
đầu ra
Syntax:2
random.choices[sequence, weights=None, cum_weights=None, k=1]
Câu hỏi 2
Syntax:3
random.choices[sequence, weights=None, cum_weights=None, k=1]
Dung dịch
Syntax:4
random.choices[sequence, weights=None, cum_weights=None, k=1]
đầu ra
Syntax:5
random.choices[sequence, weights=None, cum_weights=None, k=1]
Với điều đó, chúng ta đi đến phần cuối của hướng dẫn này. Tôi hy vọng nó đã giúp bạn. Vui lòng đăng ký và theo dõi để biết thêm các hướng dẫn và giải pháp thú vị. học tập vui vẻ. 🙂
đề nghị đọc. Mô-đun ngẫu nhiên của Python – Mọi thứ bạn cần biết để bắt đầu
Shubham Sayon
Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking