1. Phân phối đều trong Numpy
Phân phối đều là phân phối để mô tả xác suất mà mọi sự kiện đều có cơ hội xảy ra như nhau. Phân phối đều liên tục đôi khi còn được gọi là phân phối hình chữ nhật và khi biểu diễn bằng hình vẽ sẽ có dạng hình chữ nhật. Trong phân phối đều, các mẫu được phân bố đồng đều trong khoảng [low, high).
Trong Numpy, để tạo ra mảng dựa theo phân phối đều ta sẽ cần sử dụng hàm random.uniform() – hàm này yêu cầu 3 tham số:
- Tham số a – là giá trị thấp nhất của khoảng (low) – Mặc định giá trị này sẽ là 0
- Tham số b – là giá trị cao nhất của khoảng (hight) – Mặc định giá trị này sẽ là 1
- Tham số size – là kích thước mảng cần trả về
Ví dụ dưới đây, sử dụng hàm random.uniform() để tạo ra một mảng 1 chiều có kích thước 1 x 4, các giá trị theo phân phối đều với giá trị thấp nhất của khoảng là 0 (nghĩa là low = 0) và giá trị cao nhất của khoảng là 1 (nghĩa là height = 1) như sau:
from numpy import random x = random.uniform(size=(4)) print(x)
Kết quả:
[0.51354189 0.84740217 0.20382147 0.43357534]
Ví dụ tiếp theo, sử dụng hàm random.uniform() để tạo ra một mảng 2 chiều có kích thước 2 x 3, các giá trị theo phân phối đều với giá trị thấp nhất của khoảng là 0 và giá trị cao nhất của khoảng là 1 như sau:
from numpy import random x = random.uniform(size=(2, 3)) print(x)
Kết quả:
[[2.61432318e-01 6.36565128e-04 1.30021250e-02] [7.94563735e-01 9.61332485e-01 7.23099901e-01]]
2. Trực quan hóa phân phối đều
Chúng ta có thể trực quan hóa các phân phối đều thông qua hàm sns.distplot() trong mô-đun Seaborn.
from numpy import random import matplotlib.pyplot as plt import seaborn as sns sns.distplot(random.uniform(size=1000), hist=False) plt.show()