numpy.random --- Tạo số ngẫu nhiên¶
Submodule numpy.random cung cấp lớp Generator dùng để lấy mẫu từ các phân phối xác suất phổ biến. Thuật toán nền tảng là bộ tạo hoán vị đồng dư (PCG); xem https://www.pcg-random.org/ để biết thêm chi tiết.
Một Generator là đối tượng có trạng thái: mỗi lần gọi một trong các phương thức lấy mẫu của nó sẽ làm thay đổi trạng thái nội bộ, do đó các lần gọi liên tiếp trả về các mẫu độc lập. Mảng đầu ra luôn có dtype là numpy.float.
Các lớp¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Khởi tạo bộ tạo số giả ngẫu nhiên mới.
- Tham số:
seed -- hạt giống dùng để khởi tạo trạng thái bộ tạo. Nếu cung cấp số nguyên thì nó được dùng trực tiếp. Nếu cung cấp tuple số nguyên, thay vì một thể hiện duy nhất, một tuple các đối tượng
Generatorđược khởi tạo độc lập (mỗi phần tử một đối tượng) được trả về. Nếu cung cấpNone, hạt giống mặc định của nền tảng được dùng (khi đã được cấu hình lúc biên dịch); nếu không thì sẽ có lỗiValueError.- Đưa ra:
TypeError -- nếu seed không phải
None, số nguyên, hoặc tuple số nguyên.ValueError -- nếu seed là
Nonevà không có hạt giống mặc định nào được cấu hình.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Lấy mẫu từ phân phối chuẩn (Gaussian).
- Tham số:
loc -- giá trị trung bình (tâm) của phân phối.
scale -- độ lệch chuẩn (độ rộng) của phân phối. Phải không âm.
size -- hình dạng của đầu ra. Nếu là số nguyên, trả về mảng một chiều có độ dài đó. Nếu là tuple, trả về mảng có hình dạng đó. Nếu là
None(mặc định), trả về một giá trị Pythonfloatđơn lẻ.
- Trả về:
hoặc là Python
floathoặcnumpy.ndarraykiểu float có hình dạng được yêu cầu.- Đưa ra:
ValueError -- nếu hình dạng được yêu cầu vượt quá
ULAB_MAX_DIMS.TypeError -- nếu size không phải
None, số nguyên, hay tuple.
Các mẫu được tạo bằng phép biến đổi Box-Muller.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Lấy mẫu từ phân phối đều trên nửa khoảng mở
[0.0, 1.0).- Tham số:
size -- hình dạng của đầu ra. Nếu là số nguyên, trả về mảng một chiều có độ dài đó. Nếu là tuple, trả về mảng có hình dạng đó. Nếu là
None(mặc định) và out cũng làNone, trả về một giá trị Pythonfloatđơn lẻ.out -- mảng
numpy.ndarrayfloat được cấp phát trước, đặc, tùy chọn để nhận các mẫu. Nếu cả size và out đều được cung cấp, hình dạng của chúng phải khớp nhau.
- Trả về:
một Python
float, mộtnumpy.ndarraymới, hoặc out (đã được điền mẫu) tùy theo tham số.- Đưa ra:
TypeError -- nếu size có kiểu không được hỗ trợ, hoặc out không phải ndarray, hoặc out không có dtype
float.ValueError -- nếu hình dạng được yêu cầu vượt quá
ULAB_MAX_DIMS, nếu size vàout.shapekhông khớp, hoặc nếu out không liên tiếp.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Lấy mẫu từ phân phối đều trên nửa khoảng mở
[low, high).- Tham số:
low -- giới hạn dưới (bao gồm) của phân phối.
high -- giới hạn trên (không bao gồm) của phân phối.
size -- hình dạng của đầu ra. Nếu là tuple, trả về mảng có hình dạng đó. Nếu là
None(mặc định), trả về một giá trị Pythonfloatđơn lẻ được lấy từ[0.0, 1.0)(các giới hạn low/high bị bỏ qua trong trường hợp vô hướng).
- Trả về:
hoặc là Python
floathoặcnumpy.ndarraykiểu float có hình dạng được yêu cầu.- Đưa ra:
ValueError -- nếu hình dạng được yêu cầu vượt quá
ULAB_MAX_DIMS.TypeError -- nếu size không phải
Nonehay tuple.
Với các tham số mặc định giống nhau,
uniform()tạo ra cùng chuỗi nhưrandom().