愚蠢的问题,我正在学习吴恩达最新的深度学习课程的第三周,卡在一个相当简单的Numpy函数上(我认为是这样的?)。
练习是要找出我们有多少训练样本,m。
有人知道有什么Numpy函数可以用来找出预加载训练样本的大小吗?
谢谢!
shape_X = X.shapeshape_Y = Y.shapem = ?print ('The shape of X is: ' + str(shape_X))print ('The shape of Y is: ' + str(shape_Y))print ('I have m = %d training examples!' % (m))
回答:
这取决于你使用什么样的存储方法。
大多数基于Python的工具使用[n_samples, n_features]
方法,其中第一维是样本维度,第二维是特征维度(如scikit-learn等)。换句话说,样本是行,特征是列。
所以:
# feature 1 2 3 4x = np.array([[1,2,3,4], # first sample [2,3,4,5], # second sample [3,4,5,6] ])
是一个包含3个样本,每个样本有4个特征的训练集。
大小M,N(再次说明:其他人可能有不同的解释)你可以用以下方式获取:
M, N = x.shape
因为Numpy的第一维是行,第二维是列,就像矩阵代数中一样。
对于上面的例子,目标数组的形状是(M) = n_samples
。