コード例 #1
0
ファイル: test_gmm.py プロジェクト: EricKightley/sparseklearn
 def test__initialize_covariances_case4(self):
     """ diagonal covariance, multi-init.
     """
     random_state = np.random.RandomState(12)
     n_init = 3
     means_init_true = random_state.rand(n_init, self.td.K, self.td.P)
     covariances_init_true = random_state.rand(n_init, self.td.K, self.td.P)
     gmm = GaussianMixture(n_components=self.td.K,
                           num_feat_full=self.td.P,
                           num_feat_comp=self.td.Q,
                           num_feat_shared=self.td.Qs,
                           num_samp=self.td.N,
                           transform=self.td.transform,
                           D_indices=self.td.D_indices,
                           mask=self.td.mask,
                           means_init=means_init_true,
                           covariances_init=covariances_init_true,
                           covariance_type='diag',
                           n_init=n_init,
                           random_state=random_state)
     gmm.fit_sparsifier(X=self.td.X)
     # init means twice to cycle covariances
     _ = gmm._initialize_means()
     means_init = gmm._initialize_means()
     covariances_init_test = gmm._initialize_covariances(means_init)
     self.assertArrayEqual(covariances_init_test, covariances_init_true[1])
コード例 #2
0
ファイル: test_gmm.py プロジェクト: EricKightley/sparseklearn
 def test__initialize_covariances_case3(self):
     """ No covariances given, just check shape.
     """
     random_state = np.random.RandomState(12)
     means_init_true = random_state.rand(self.td.K, self.td.P)
     gmm = GaussianMixture(n_components=self.td.K,
                           num_feat_full=self.td.P,
                           num_feat_comp=self.td.Q,
                           num_feat_shared=self.td.Qs,
                           num_samp=self.td.N,
                           transform=self.td.transform,
                           D_indices=self.td.D_indices,
                           mask=self.td.mask,
                           means_init=means_init_true,
                           covariances_init=None,
                           covariance_type='diag',
                           random_state=random_state)
     gmm.fit_sparsifier(X=self.td.X)
     means_init = gmm._initialize_means()
     covariances_init_test = gmm._initialize_covariances(means_init)
     true_shape = np.array((self.td.K, self.td.P))
     self.assertArrayEqual(covariances_init_test.shape, true_shape)
コード例 #3
0
ファイル: test_gmm.py プロジェクト: EricKightley/sparseklearn
 def test__initialize_covariances_case1(self):
     """ spherical covariance, 1 init.
     """
     random_state = np.random.RandomState(12)
     means_init_true = random_state.rand(self.td.K, self.td.P)
     covariances_init_true = random_state.rand(self.td.K)
     gmm = GaussianMixture(n_components=self.td.K,
                           num_feat_full=self.td.P,
                           num_feat_comp=self.td.Q,
                           num_feat_shared=self.td.Qs,
                           num_samp=self.td.N,
                           transform=self.td.transform,
                           D_indices=self.td.D_indices,
                           mask=self.td.mask,
                           means_init=means_init_true,
                           covariances_init=covariances_init_true,
                           covariance_type='spherical',
                           random_state=random_state)
     gmm.fit_sparsifier(X=self.td.X)
     means_init = gmm._initialize_means()
     covariances_init_test = gmm._initialize_covariances(means_init)
     self.assertArrayEqual(covariances_init_test, covariances_init_true)