Hello! I might have a silly question but I am new to ML. I dont understand why in the code (w2) it is written that m=X.shape[1].
m are the m training examples?
why we use [1] in the shape? Is it because X has shape (nx,m)
Hello! I might have a silly question but I am new to ML. I dont understand why in the code (w2) it is written that m=X.shape[1].
m are the m training examples?
why we use [1] in the shape? Is it because X has shape (nx,m)
Exactly! The shape attribute of a numpy array is a “tuple” or “list” of values giving the size of each dimension. You can index into the tuple to select the dimension you want. Because indexing is “0-based” in python, the first element is shape[0] (the number of rows for a 2D array) and the second is shape[1] (the number of columns for a 2D array). The way Prof Ng formats the input “sample” matrix X, there are nx rows (the number of input features in each sample) and m columns (the number of independent input samples).
Thank you for your help!
@LilandiGeo ,
Adding to @paulinpaloalto excellent answer, another viewpoint is
n
dimensions/features. ([n, 1]
)m
) are stacked parallel vertically, it results in a [n, m]
matrix.Now, np.shape
will return a tuple (n, m)
.
To access m
in a zero-indexed tuple, we need to use index value as 1