ndom () Bằng Python - W3seo Cách Random Trong Numpy

Rate this post

NumPy là một thư viện phổ biến và mạnh mẽ trong Python, đặc biệt hữu ích trong khoa học dữ liệu và học máy. Một trong những module quan trọng nhất của NumPy là numpy.random, cung cấp các công cụ tạo số ngẫu nhiên và các phân phối xác suất khác nhau. Bài viết này sẽ hướng dẫn chi tiết về numpy.random(), cách sử dụng và các ví dụ minh họa cụ thể.

Hướng dẫn khác:

  1. Numpy trong python
  2. String trong NumPy: Hướng Dẫn Chi Tiết
  3. Các hàm toán học trong thư viện NumPy
  4. Sắp xếp và tìm kiếm trong numpy
  5. Numpy.log trong Python: Hướng dẫn chi tiết
  6. numpy.where() trong Python

Tóm tắt nội dung

Toggle
  • Giới Thiệu Về numpy.random
  • Các Hàm Quan Trọng Trong numpy.random
    • Hàm random()
    • Hàm randint()
    • Hàm rand()
    • Hàm choice()
    • Hàm seed()
  • Các Phân Phối Xác Suất Trong numpy.random
    • Phân Phối Chuẩn (Normal Distribution)
    • Phân Phối Nhị Thức (Binomial Distribution)
    • Phân Phối Poisson (Poisson Distribution)
  • Ứng Dụng Thực Tế Của numpy.random
    • Mô Phỏng Monte Carlo
    • Phân Chia Dữ Liệu Trong Học Máy
  • Kết Luận

Giới Thiệu Về numpy.random

numpy.random là một module trong NumPy cung cấp các chức năng để tạo ra các số ngẫu nhiên, lấy mẫu từ các phân phối xác suất khác nhau và thực hiện các thao tác ngẫu nhiên khác. Điều này rất hữu ích trong việc mô phỏng, phân tích dữ liệu, và học máy.

Các Hàm Quan Trọng Trong numpy.random

Hàm random()

Hàm numpy.random.random() trả về một mảng các số ngẫu nhiên với giá trị nằm trong khoảng từ 0 đến 1.

import numpy as np # Tạo một số ngẫu nhiên random_number = np.random.random() print(random_number) # Tạo một mảng 1 chiều với 5 số ngẫu nhiên random_array = np.random.random(5) print(random_array)

Kết quả:

0.5488135039273248 [0.71518937 0.60276338 0.54488318 0.4236548 0.64589411]

Hàm randint()

Hàm numpy.random.randint() tạo ra các số nguyên ngẫu nhiên trong một khoảng cho trước.

import numpy as np # Tạo một số nguyên ngẫu nhiên từ 0 đến 10 random_int = np.random.randint(0, 10) print(random_int) # Tạo một mảng 2 chiều 3x3 các số nguyên ngẫu nhiên từ 0 đến 100 random_int_array = np.random.randint(0, 100, (3, 3)) print(random_int_array)

Kết quả:

7 [[15 62 96] [19 46 74] [60 92 71]]

Hàm rand()

Hàm numpy.random.rand() tạo ra các số ngẫu nhiên theo phân phối đều trong khoảng từ 0 đến 1.

import numpy as np # Tạo một số ngẫu nhiên random_number = np.random.rand() print(random_number) # Tạo một mảng 2 chiều 3x2 các số ngẫu nhiên random_array = np.random.rand(3, 2) print(random_array)

Kết quả:

0.6169339968747569 [[0.94374808 0.6818203 ] [0.3595079 0.43703195] [0.6976312 0.06022547]]

Hàm choice()

Hàm numpy.random.choice() trả về một giá trị hoặc một mảng các giá trị được lấy mẫu ngẫu nhiên từ một mảng đầu vào.

import numpy as np # Tạo một mảng các số arr = np.array([1, 2, 3, 4, 5]) # Lấy một giá trị ngẫu nhiên từ mảng random_choice = np.random.choice(arr) print(random_choice) # Lấy một mảng 3 giá trị ngẫu nhiên từ mảng random_choices = np.random.choice(arr, 3) print(random_choices)

Kết quả:

4 [2 5 1]

Hàm seed()

Hàm numpy.random.seed() thiết lập giá trị seed cho bộ sinh số ngẫu nhiên. Điều này giúp bạn tái tạo kết quả ngẫu nhiên.

import numpy as np # Thiết lập giá trị seed np.random.seed(0) # Tạo một mảng 5 số ngẫu nhiên random_array = np.random.random(5) print(random_array)

Kết quả:

[0.5488135 0.71518937 0.60276338 0.54488318 0.4236548 ]

Các Phân Phối Xác Suất Trong numpy.random

Phân Phối Chuẩn (Normal Distribution)

Hàm numpy.random.normal() tạo ra các số ngẫu nhiên theo phân phối chuẩn (phân phối Gaussian).

import numpy as np # Tạo một mảng 10 số ngẫu nhiên theo phân phối chuẩn normal_array = np.random.normal(0, 1, 10) print(normal_array)

Kết quả:

[ 1.76405235 0.40015721 0.97873798 2.2408932 1.86755799 -0.97727788 0.95008842 -0.15135721 -0.10321885 0.4105985 ]

Phân Phối Nhị Thức (Binomial Distribution)

Hàm numpy.random.binomial() tạo ra các số ngẫu nhiên theo phân phối nhị thức.

import numpy as np # Tạo một mảng 10 số ngẫu nhiên theo phân phối nhị thức binomial_array = np.random.binomial(10, 0.5, 10) print(binomial_array)

Kết quả:

[5 6 5 6 5 3 5 4 6 5]

Phân Phối Poisson (Poisson Distribution)

Hàm numpy.random.poisson() tạo ra các số ngẫu nhiên theo phân phối Poisson.

import numpy as np # Tạo một mảng 10 số ngẫu nhiên theo phân phối Poisson poisson_array = np.random.poisson(5, 10) print(poisson_array)

Kết quả:

[ 4 5 4 4 6 2 6 4 5 7]

Ứng Dụng Thực Tế Của numpy.random

Mô Phỏng Monte Carlo

Mô phỏng Monte Carlo là một kỹ thuật tính toán sử dụng các số ngẫu nhiên để ước tính giá trị kỳ vọng của một biến số ngẫu nhiên. numpy.random thường được sử dụng để tạo ra các mẫu ngẫu nhiên trong mô phỏng Monte Carlo.

import numpy as np # Số lần mô phỏng N = 10000 # Tạo các mẫu ngẫu nhiên samples = np.random.random(N) # Ước tính giá trị Pi inside_circle = np.sum(samples**2 + np.random.random(N)**2 <= 1) pi_estimate = (inside_circle / N) * 4 print(f"Ước tính giá trị Pi: {pi_estimate}")

Phân Chia Dữ Liệu Trong Học Máy

Trong học máy, numpy.random được sử dụng để phân chia dữ liệu thành các tập huấn luyện và kiểm tra một cách ngẫu nhiên.

import numpy as np # Dữ liệu mẫu data = np.arange(100) # Thiết lập seed để tái tạo kết quả np.random.seed(42) # Phân chia dữ liệu thành tập huấn luyện và kiểm tra train_data = np.random.choice(data, 80, replace=False) test_data = np.setdiff1d(data, train_data) print(f"Train data: {train_data}") print(f"Test data: {test_data}")

Kết Luận

Module numpy.random là một công cụ mạnh mẽ trong NumPy, cung cấp các chức năng tạo số ngẫu nhiên và lấy mẫu từ các phân phối xác suất khác nhau. Việc hiểu và sử dụng hiệu quả các hàm trong numpy.random sẽ giúp bạn thực hiện các tác vụ mô phỏng, phân tích dữ liệu, và học máy một cách dễ dàng hơn.

Hãy thực hành với các ví dụ trên để làm quen và nắm vững kỹ năng sử dụng numpy.random trong Python.

Tham Khảo

  1. NumPy Documentation – numpy.random
  2. Real Python – Generating Random Data in Python
  3. W3Schools – NumPy Random
  4. GeeksforGeeks – Random sampling in NumPy

Những nguồn tham khảo này sẽ cung cấp thêm kiến thức và công cụ để bạn nâng cao kỹ năng của mình trong việc sử dụng numpy.random và các ứng dụng của nó.

Từ khóa » Thư Viện Random Python