def test_step_E(self):
points = np.random.randn(self.n_points,self.dim)
KM = Kmeans(self.n_components)
KM._initialize(points)
expected_assignements = np.zeros((self.n_points,self.n_components))
M = dist_matrix(points,KM.means)
for i in range(self.n_points):
index_min = np.argmin(M[i]) #the cluster number of the ith point is index_min
if (isinstance(index_min,np.int64)):
expected_assignements[i][index_min] = 1
else: #Happens when two points are equally distant from a cluster mean
expected_assignements[i][index_min[0]] = 1
predected_assignements = KM._step_E(points)
assert_almost_equal(expected_assignements,predected_assignements)
评论列表
文章目录