2019年5月29日 下午9:39
无循环的距离公式推导:两种表示
python 代码

- 先搭建起整个1-3步的框架
1
dists = np.sqrt(self.getNormMatrix(X, num_train).T + self.getNormMatrix(self.X_train, num_test) - 2 * np.dot(X, self.X_train.T))
- 将第一(二)步模块化:这里在np.sum的时候也使用了向量化的思想
1
2
3
4
5def getNormMatrix(self, x, lines_num):
"""
Get a lines_num x size(x, 1) matrix
"""
return np.ones((lines_num, 1)) * np.sum(np.square(x), axis = 1)

