首页 > 技术文章 > numpy.random中的shuffle和permutation以及mini-batch调整数据集(X, Y)

ZhongliangXiang 2017-11-27 10:39 原文

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))

推荐阅读