Example #1
0
 def test_DTWKmeans_inertia_decrease_with_iteration_increase(self):
     list_of_series = make_flat_dataset([-1.0,0,0.5],10,additive_noise_factor=0.3,level_noise_factor=0.3,lengths=[5])
     num_clusters = 3
     random_seed = 101
     clts_1 = DTWKmeans(num_clust = num_clusters, num_iter=1, random_seed=random_seed)
     clts_1.fit(list_of_series)
     clts_2 = DTWKmeans(num_clust = num_clusters, num_iter=2, random_seed=random_seed)
     clts_2.fit(list_of_series)
     print (clts_1._inertia(list_of_series))
     print (clts_2._inertia(list_of_series))
     #assert False
     assert clts_1._inertia(list_of_series) >= clts_2._inertia(list_of_series)
Example #2
0
 def test_DTWKmeans_single_num_init(self,num_init,expected_inertia):
     list_of_series = flat_dataset(random_seed=101)
     # running only 2 times even if list of random seeds is 10
     random_seed = 22
     clts = DTWKmeans(num_clust = 3, num_iter = 10, num_init = num_init,
                     w=1,euclidean=True,random_seed=random_seed)
     clts.fit(list_of_series)
     inertia=clts._inertia(list_of_series)
     assert inertia == pytest.approx(expected_inertia,abs=1e-2)
Example #3
0
 def test_DTWKmeans_inertia_positive(self):
     list_of_series = make_flat_dataset([-1.0,0,0.5],10,additive_noise_factor=0.3,level_noise_factor=0.3,lengths=[5])
     num_clusters = 3
     iterations = 1
     random_seed = 101
     clts_1 = DTWKmeans(num_clust = num_clusters, num_iter = iterations, random_seed=random_seed)
     clts_1.fit(list_of_series)
     intertia = clts_1._inertia(list_of_series)
     assert intertia > 0