Analyze numpy's commonly used random number generation methods

王林
Release: 2024-01-26 09:09:07
Original
938 people have browsed it

Analyze numpys commonly used random number generation methods

# Analysis of common methods for generating random numbers with numpy

Random numbers play an important role in data analysis and machine learning. Numpy is a commonly used numerical calculation library in Python, providing a variety of methods for generating random numbers. This article will analyze the common methods of generating random numbers in numpy and give specific code examples.

  1. Random integers

numpy provides the function numpy.random.randint() that generates random integers. This function generates random integers within a specified range.

import numpy as np

# 生成范围在[low, high)之间的随机整数
rand_int = np.random.randint(low, high, size)
Copy after login

Among them, low represents the lower bound (inclusive) of generating random integers, high represents the upper bound (exclusive), and size represents the number of generated random integers.

Example:

import numpy as np

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)
Copy after login

Output:
[4 9 5 3 1]

The above code generates 5 random integers ranging from 1 to 10.

  1. Random floating point numbers

numpy provides functions numpy.random.rand() and numpy.random.randn() that generate random floating point numbers.

import numpy as np

# 生成[0, 1)之间的均匀分布的随机浮点数
rand_float = np.random.rand(size)

# 生成符合标准正态分布的随机浮点数
rand_normal_float = np.random.randn(size)
Copy after login

Among them, rand_float generates random floating-point numbers uniformly distributed between [0, 1), and rand_normal_float generates random floating-point numbers that conform to the standard normal distribution. size represents the number of random floating point numbers generated.

Example:

import numpy as np

rand_float = np.random.rand(5)
rand_normal_float = np.random.randn(5)

print(rand_float)
print(rand_normal_float)
Copy after login

Output:
[0.83600534 0.69029467 0.44770399 0.61348757 0.93889918]
[-0.9200914 0.45598762 -0.76400891 -0.1855481 1 1.67634905]

The above code is generated An array of length 5 uniformly distributed random floats and an array of length 5 standard normally distributed random floats.

  1. Random seed

The random numbers generated by numpy are pseudo-random numbers by default, that is, the random numbers generated by the program are different each time the program is run. If you want to generate the same sequence of random numbers, you can use a random seed.

import numpy as np

# 设置随机种子
np.random.seed(seed)
Copy after login

Among them, seed represents the value of the random seed. The random number sequences generated by the same random seed are the same.

Example:

import numpy as np

np.random.seed(0)

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)

np.random.seed(0)

rand_int = np.random.randint(1, 10, size=5)
print(rand_int)
Copy after login

Output:
[6 1 4 8 4]
[6 1 4 8 4]

The above code sets the random seed to 0, two identical arrays of random integers were generated using the same random seed.

Through this article's analysis and code examples of common methods for generating random numbers in numpy, I believe readers can become more familiar with the operation of generating random numbers in the numpy library. In fields such as data analysis and machine learning, random number generation is a common operation. Mastering these methods is very helpful for conducting relevant data experiments and model training.

The above is the detailed content of Analyze numpy's commonly used random number generation methods. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template