📜  numpy 中的随机抽样 |样本()函数(1)

📅  最后修改于: 2023-12-03 15:03:18.833000             🧑  作者: Mango

Numpy中的随机抽样 - 样本()函数

在数据科学和机器学习中,经常需要对数据进行随机抽样。Numpy是一个强大的科学计算库,提供了众多的随机抽样函数,其中包括numpy.random.sample函数。在本文中,我们将探讨numpy.random.sample函数的用途、语法和实用技巧。

用途

numpy.random.sample函数用于返回一个指定形状的随机样本。这个函数的作用类似于numpy.random.rand函数,但这两个函数的语法有所不同。numpy.random.sample函数可以接收一个或多个整数、元组或者整数列表作为参数,用于指定样本的形状。当参数为空时,函数返回一个随机实数。

语法

以下是numpy.random.sample函数的标准语法:

numpy.random.sample(size=None)

size参数指定样本的形状。它可以是一个整数、元组或整数列表,用于指定返回数组的形状。如果省略了size参数,则返回一个随机实数。

import numpy as np

# 返回一个随机实数
x = np.random.sample()
print(x)

# 返回一个形状为(3, 2)的随机样本
x = np.random.sample((3, 2))
print(x)

# 返回一个形状为[2, 3, 4]的随机样本
x = np.random.sample([2, 3, 4])
print(x)

输出:

0.7755529463425446
[[0.48237992 0.28648844]
 [0.03827602 0.52734779]
 [0.03031919 0.56942792]]
[[[0.64249049 0.28847107 0.83189743 0.53670347]
  [0.40867944 0.57089112 0.86937037 0.51349328]
  [0.63797251 0.34866339 0.62445593 0.03394225]]

 [[0.69368917 0.73157393 0.52851207 0.6662679 ]
  [0.85054562 0.44659861 0.862634   0.30212864]
  [0.313032   0.48754289 0.38241194 0.18625868]]]
实用技巧
生成随机矩阵

使用numpy.random.sample函数生成随机矩阵是很常见的用法。下面是一个使用numpy.random.sample函数生成$3 \times 3$矩阵的例子。

import numpy as np

# 生成一个3 * 3的随机矩阵
mat = np.random.sample((3, 3))
print(mat)

输出:

[[0.21192399 0.40792614 0.77372586]
 [0.66553438 0.83283175 0.23208812]
 [0.93758112 0.50071263 0.48928661]]
生成随机图像

使用numpy.random.sample函数可以生成随机图像。下面是一个用于生成$256 \times 256$大小的灰度图像的例子。

import numpy as np
import matplotlib.pyplot as plt

# 生成256 * 256大小的灰度图像
img = np.random.sample((256, 256))
plt.imshow(img, cmap='gray')
plt.show()

输出:

随机图像

生成随机数据集

numpy.random.sample函数和其他numpy的函数组合使用,可以生成随机数据集。例如下面的例子中,我们使用numpy.random.sample函数生成一个包含100个样本的,每个样本含有3个特征的随机数据集。

import numpy as np

# 生成一个包含100个样本,每个样本有3个特征的随机数据集
X = np.random.sample((100, 3))
print(X)

输出:

[[0.89044765 0.75816115 0.52374818]
 [0.30464411 0.55321365 0.70887152]
 [0.16060244 0.04008391 0.3102304 ]
 [0.9179936  0.74356306 0.99624664]
 [0.40945911 0.52927263 0.74902806]
 ...
 [0.05753238 0.25900537 0.22678749]
 [0.44149006 0.96552132 0.48323042]
 [0.08503345 0.42583288 0.80439881]
 [0.34456592 0.7731249  0.88580228]
 [0.90905914 0.24651571 0.4422472 ]]
结论

以上就是numpy.random.sample函数的介绍、语法和实用技巧。这个函数功能强大、使用方便,是数据科学和机器学习中不可或缺的工具。在实际工作中,我们可以根据自己的需求选择不同的参数来生成随机样本、随机矩阵、随机图像等。