我有一个这样的训练数据:
x_train = np.random.randint(100, size=(1000, 25))
其中每一行为一个样本,因此我们有1000个样本。
现在我需要调整训练数据,使得每个样本/行最多有3个非零元素,总共25个元素中。
大家能否建议一下我该如何实现这个目标?谢谢!
回答:
我假设您希望将大部分数据变成零,但每个行随机保留0到3个非零元素。如果是这样的话,可以按照以下方法实现。
代码
输出
[[ 0. 68. 25. ... 0. 0. 0.] [ 0. 0. 0. ... 0. 0. 0.] [ 0. 0. 0. ... 0. 0. 0.] ... [ 0. 0. 0. ... 0. 0. 0.] [88. 0. 0. ... 0. 0. 0.] [ 0. 0. 0. ... 0. 0. 0.]]