欢迎访问宙启技术站
智能推送

使用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参数来控制随机性的程度。这些随机偏移被累加到上一个样本的特征向量上,以生成下一个样本的特征向量。最后,返回生成的数据集。

这个示例数据集的特点是各个样本之间的特征存在一定的相关性,而且每个样本的特征都有一定的随机波动。在实际应用中,你可以根据需要调整生成数据集的大小和随机性的程度。