Hướng dẫn python weighted random - trăn trọng lượng ngẫu nhiên
Kể từ Python 04, 05 có thể được sử dụng để trả về 06 các yếu tố có kích thước quy định từ dân số đã cho với trọng số tùy chọn. Show 07
Vài cảnh báo: 1) Nó sử dụng lấy mẫu có trọng số với sự thay thế để các mục được rút ra sau đó sẽ được thay thế. Các giá trị trong chuỗi trọng số trong chính nó không quan trọng, nhưng tỷ lệ tương đối của chúng thì có. Không giống như 5 chỉ có thể đảm nhận xác suất là trọng số và cũng phải đảm bảo tổng kết xác suất riêng lẻ lên tới 1 tiêu chí, không có quy định nào như vậy ở đây. Miễn là chúng thuộc loại số ( 6 ngoại trừ loại 7), chúng vẫn sẽ thực hiện.
2) Nếu không có trọng số và cum_ weights được chỉ định, các lựa chọn được thực hiện với xác suất bằng nhau. Nếu một chuỗi trọng số được cung cấp, nó phải có cùng chiều dài với trình tự dân số. Chỉ định cả trọng lượng và cum_ weights tăng 8.
3) Cum_ weights thường là kết quả của hàm 9 thực sự tiện dụng trong các tình huống như vậy.
Vì vậy, hoặc cung cấp [200, 300, 300, 300, 400]0 hoặc [200, 300, 300, 300, 400]1 cho trường hợp giả định của chúng tôi tạo ra kết quả tương tự và sau này dường như nhanh hơn / hiệu quả hơn. Sử dụng phương thức numpy.random.choice ()
Danh sách: Đây là danh sách ban đầu từ bạn có các số ngẫu nhiên chọn.K: Đó là kích thước của danh sách trở lại. tức là, số lượng các yếu tố bạn muốn chọn.choices() method returns multiple random elements from the list with replacement. You can weigh the possibility of each result with the weights parameter or the cum_weights parameter.choices() method returns multiple random elements from the list with replacement. You can weigh the possibility of each result with the weights parameter or the cum_weights parameter.
Python Python3[200, 300, 300, 300, 400]2 [200, 300, 300, 300, 400]3 [200, 300, 300, 300, 400]4 [200, 300, 300, 300, 400]5 [200, 300, 300, 300, 400]6 [200, 300, 300, 300, 400]7 [200, 300, 300, 300, 400]8 [200, 300, 300, 300, 400]9 [200, 300, 300, 300, 400]8 01[200, 300, 300, 300, 400]8 03[200, 300, 300, 300, 400]8 05____36 07[200, 300, 300, 300, 400]5 09 80 81[200, 300, 300, 300, 400]5 83 84[200, 300, 300, 300, 400]8 86[200, 300, 300, 300, 400]8 88[200, 300, 300, 300, 400]8 80[200, 300, 300, 300, 400]8 82 83[200, 300, 300, 300, 400]5 85 86 87 88Output: [200, 300, 300, 300, 400] Bạn cũng có thể sử dụng tham số Cum_weight. Nó là viết tắt của trọng lượng giao hoán. Theo mặc định, nếu chúng ta sẽ sử dụng phương pháp trên và gửi trọng số hơn hàm này sẽ thay đổi trọng lượng thành trọng lượng giao hoán. Vì vậy, để làm cho chương trình sử dụng nhanh Cum_weight. Trọng lượng tích lũy được tính bằng công thức: 0Example: Python3[200, 300, 300, 300, 400]2 [200, 300, 300, 300, 400]3 [200, 300, 300, 300, 400]4 [200, 300, 300, 300, 400]5 [200, 300, 300, 300, 400]6 [200, 300, 300, 300, 400]7 [200, 300, 300, 300, 400]8 [200, 300, 300, 300, 400]9 [200, 300, 300, 300, 400]8 01[200, 300, 300, 300, 400]8 03[200, 300, 300, 300, 400]8 05____36 07[200, 300, 300, 300, 400]5 09Các 87 88Output: 8Sử dụng phương thức numpy.random.choice ()Nếu bạn đang sử dụng Python cũ hơn 3,6 phiên bản, thì bạn phải sử dụng thư viện Numpy để đạt được các số ngẫu nhiên có trọng số. Với phương thức trợ giúp của phương thức (), chúng ta có thể lấy các mẫu ngẫu nhiên của một mảng một chiều và trả về các mẫu ngẫu nhiên của mảng numpy.With the help of choice() method, we can get the random samples of one dimensional array and return the random samples of numpy array.
Lưu ý: Tổng số xác suất của tất cả các phần tử phải bằng 1. the total sum of the probability of all the elements should be equal to 1. the total sum of the probability of all the elements should be equal to 1. Example: Python 076 077[200, 300, 300, 300, 400]2 079[200, 300, 300, 300, 400]4 [200, 300, 300, 300, 400]5 [200, 300, 300, 300, 400]6 [200, 300, 300, 300, 400]7 [200, 300, 300, 300, 400]8 [200, 300, 300, 300, 400]9 [200, 300, 300, 300, 400]8 01[200, 300, 300, 300, 400]8 03[200, 300, 300, 300, 400]8 05____36 13[200, 300, 300, 300, 400]5 15 80 17 85 19[200, 300, 300, 300, 400]5 [200, 300, 300, 300, 400]6 22[200, 300, 300, 300, 400]8 24[200, 300, 300, 300, 400]8 26[200, 300, 300, 300, 400]8 28[200, 300, 300, 300, 400]8 30 31 87 33Output: 8 |