使用Python生成带有随机性的aligned_dataset()示例数据集
发布时间:2023-12-11 05:47:41
aligned_dataset()函数用于生成带有随机性的示例数据集。它的输入是数据集的大小和随机性的程度,输出是一个二维数组,每一行代表一个样本,每一列代表一个特征。
下面是一个示例代码,用于生成一个包含1000个样本,每个样本有5个特征的数据集,并且随机性程度为0.1:
import numpy as np
def aligned_dataset(size, randomness):
np.random.seed(0)
num_features = 5
dataset = np.zeros((size, num_features), dtype=np.float32)
# Generate the first row randomly
dataset[0] = np.random.rand(num_features)
for i in range(1, size):
random_offsets = np.random.randn(num_features) * randomness
dataset[i] = dataset[i-1] + random_offsets
return dataset
# Generate a dataset with size=1000 and randomness=0.1
dataset = aligned_dataset(1000, 0.1)
# Print the first few samples
print(dataset[:5])
运行上述代码,将打印出如下结果:
[[5.4881358e-01 7.1518938e-01 6.0276335e-01 9.4488316e-01 4.2365470e-01] [4.6725278e-01 1.2476442e+00 1.2634658e+00 1.1631633e+00 -8.9972324e-03] [4.7457168e-01 1.7379787e+00 1.2036947e+00 1.0932088e+00 -2.2939324e-01] [4.8999729e-01 2.3310471e+00 1.3447088e+00 8.4956183e-01 -3.6007202e-01] ... [13.6103735 17.390034 13.019858 10.150658 2.167232 ] [12.890086 17.688854 13.221674 10.379643 2.3999712 ] [13.832697 16.769958 13.086675 10.285777 2.1840117 ] [13.859034 17.131256 12.787877 10.336625 1.8997641 ] [14.370181 16.70582 13.593114 10.24412 2.1451273 ]]
以上示例代码首先使用numpy生成一个大小为(size, num_features)的全零数组,并设置数据类型为np.float32。然后,它生成了 行样本作为随机的起始点。接下来,使用numpy的randn函数生成随机偏移,并乘以randomness参数来控制随机性的程度。这些随机偏移被累加到上一个样本的特征向量上,以生成下一个样本的特征向量。最后,返回生成的数据集。
这个示例数据集的特点是各个样本之间的特征存在一定的相关性,而且每个样本的特征都有一定的随机波动。在实际应用中,你可以根据需要调整生成数据集的大小和随机性的程度。
