我正在尝试理解一个Udacity线性回归示例,其中包括:
data = np.loadtxt('data.csv',delimiter=',') # This is known to be a 2-columns, many rows array
X = data[:,:-1]
y = data[:,-1]
因此,如果我理解的话,X
是一个1列阵列,捕获除最后一列之外的data
的所有列(因此实际上仅捕获第一列(,而y
是一个仅捕获data
的最后一列的1列阵列。
我的问题是为什么不这样写代码:
X = data[:,0]
y = data[:,1]
它会不会更清晰/更干净?
X
是一个(n, 1)
2D数组,因为切片保留了维度。备选措辞为
X = data[:, :1]
X = data[:, 0, None]
X = data[:, 0].reshape(-1, 1)
CCD_ 7是CCD_。
这些形状对于用于实现回归的线性代数可能很重要。