愚蠢的问题,我正在经历Andrew Ng最新的深度学习课程的第三周,并且陷入了一个相当简单的Numpy功能(我认为?)。
练习是找到我们有多少训练样例。
知道Numpy功能是什么,以了解预加载的训练示例的大小。
谢谢!
shape_X = X.shape
shape_Y = Y.shape
m = ?
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))
答案 0 :(得分:0)
取决于您使用何种存储方式。
大多数基于python的工具使用[n_samples, n_features]
方法,其中第一个维度是样本维度,第二个维度是特征维度(如scikit-learn和co。)。或者表示:样本是行,特征是列。
所以:
# feature 1 2 3 4
x = 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的第一个维度是行,numpy的第二个维度是列like in matrix-algebra。
对于上面的示例,目标数组的形状为(M) = n_samples
。
答案 1 :(得分:0)
只要您想查找训练示例的数量或数组的大小,就可以使用
m = X.size
这将为您提供示例的大小或总数。在这种情况下,它将是400。 上面的方法也是正确的,但不是找到大小的最佳方法,因为在大型数据集中,值可能很大,而python可以轻松处理大值,但建议不要使用多余的空间。
解决上述问题的更好方法是
m=X.shape[1]