def test(): anp = np.random.randn(4, 5) a = lg.array(anp) assert np.array_equal(lg.argmin(a, axis=0), np.argmin(anp, axis=0)) assert np.array_equal(lg.argmin(a, axis=1), np.argmin(anp, axis=1)) return
def test(): np.random.seed(50) datanp = np.random.randn(2000000, 3) data = lg.array(datanp) pointsnp = np.random.choice(lg.arange(len(data)), 4, False) points = lg.array(pointsnp) centroids = data[points] centroidsnp = datanp[pointsnp] sqdists = lg.zeros((4, len(data))) sqdistsnp = np.zeros((4, len(datanp))) for i in range(4): vec = data - centroids[i] vecnp = datanp - centroidsnp[i] sqdists[i] = lg.linalg.norm(vec, axis=1) sqdistsnp[i] = np.linalg.norm(vecnp, axis=1) clusters = lg.argmin(sqdists, axis=0) clustersnp = np.argmin(sqdistsnp, axis=0) assert lg.array_equal(lg.where(clusters == 0), np.where(clustersnp == 0))
def relabel(pairwise_distances, data_index): new_labels = np.argmin(pairwise_distances, axis=1) distances = pairwise_distances[data_index, new_labels] return new_labels, distances
def relabel(pairwise_distances): return np.argmin(pairwise_distances, axis=1)