numpy.random中的shuffle和permutation以及mini-batch调整数据集(X, Y)

时间:2021-01-21 03:55:09

0. numpy.random中的shuffle和permutation

numpy.random.shuffle(x) and numpy.random.permutation(x),这两个有什么不同,或者说有什么关系?

答: np.random.permutation与np.random.shuffle有两处不同:

  • 如果传给permutation一个矩阵,它会返回一个洗牌后的矩阵副本;而shuffle只是对一个矩阵进行洗牌,无返回值。
  • 如果传入一个整数,它会返回一个洗牌后的arange。

上面文字的作者:Not_GOD

链接:http://www.jianshu.com/p/f0eb10acaa2d

來源:简书

1. mini-batch调整数据集(X, Y)

n_x = 数据集特征数

m = 数据集样本数

X.shape = (n_x, m)

Y.shape = (1, m)

# Shuffle (X, Y), m is the num of instances of data set
permutation = list(np.random.permutation(m))
shuffled_X = X[:, permutation]
shuffled_Y = Y[:, permutation].reshape((1,m))