Phân phối dữ liệu ngẫu nhiên
Phân phối dữ liệu là gì?
Phân phối dữ liệu là danh sách tất cả các giá trị có thể có và tần suất xuất hiện của mỗi giá trị.
Danh sách như vậy rất quan trọng khi làm việc với thống kê và khoa học dữ liệu.
Mô-đun ngẫu nhiên cung cấp các phương thức trả về phân phối dữ liệu được tạo ngẫu nhiên.
Phân phối ngẫu nhiên
Phân phối ngẫu nhiên là tập hợp các số ngẫu nhiên tuân theo một hàm mật độ xác suất nhất định.
Hàm mật độ xác suất: Hàm mô tả xác suất liên tục. tức là xác suất của tất cả các giá trị trong một mảng.
Chúng ta có thể tạo các số ngẫu nhiên dựa trên xác suất xác định bằng phương thức choice()
của mô-đun random
.
Phương thức choice()
cho phép chúng ta chỉ định xác suất cho từng giá trị.
Xác suất được đặt bởi một số từ 0 đến 1, trong đó 0 có nghĩa là giá trị sẽ không bao giờ xuất hiện và 1 có nghĩa là giá trị sẽ luôn xuất hiện.
Ví dụ
Tạo mảng 1-D chứa 100 giá trị, trong đó mỗi giá trị phải là 3, 5, 7 hoặc 9.
Xác suất để giá trị là 3 được đặt là 0,1
Xác suất để giá trị là 5 được đặt là 0,3
Xác suất để giá trị là 7 được đặt là 0,6
Xác suất để giá trị là 9 được đặt là 0
from numpy import random
x = random.choice([3, 5, 7, 9], p=[0.1, 0.3,
0.6, 0.0], size=(100))
print(x)
Hãy tự mình thử »Tổng của tất cả các số xác suất phải là 1.
Ngay cả khi bạn chạy ví dụ trên 100 lần, giá trị 9 sẽ không bao giờ xuất hiện.
Bạn có thể trả về các mảng có hình dạng và kích thước bất kỳ bằng cách chỉ định hình dạng đó trong tham số size
.
Ví dụ
Ví dụ tương tự như trên, nhưng trả về mảng 2-D có 3 hàng, mỗi hàng chứa 5 giá trị.
from numpy import random
x = random.choice([3, 5, 7, 9], p=[0.1, 0.3,
0.6, 0.0], size=(3, 5))
print(x)
Hãy tự mình thử »