def test_fit_inverse_transform_matrix(self): X = self.spd.random_uniform(n_samples=5) tpca = TangentPCA(metric=self.spd_metric, point_type='matrix') tangent_projected_data = tpca.fit_transform(X) result = tpca.inverse_transform(tangent_projected_data) expected = X self.assertAllClose(result, expected)
def test_fit_transform_vector(self): expected = 2 tpca = TangentPCA( metric=self.metric, n_components=expected) tangent_projected_data = tpca.fit_transform(self.X) result = tangent_projected_data.shape[-1] self.assertAllClose(result, expected)
def test_fit_fit_transform_matrix(self): X = self.spd.random_uniform(n_samples=5) tpca = TangentPCA( metric=self.spd_metric) expected = tpca.fit_transform(X) result = tpca.fit(X).transform(X) self.assertAllClose(result, expected)
def test_fit_transform_matrix(self): expected = 2 X = self.spd.random_point(n_samples=5) tpca = TangentPCA(metric=self.spd_metric, n_components=expected) tangent_projected_data = tpca.fit_transform(X) result = tangent_projected_data.shape[-1] self.assertAllClose(result, expected)
def test_fit_matrix_se(self): se_mat = SpecialEuclidean(n=3, default_point_type='matrix') X = se_mat.random_uniform(self.n_samples) estimator = ExponentialBarycenter(se_mat) estimator.fit(X) mean = estimator.estimate_ tpca = TangentPCA(metric=se_mat, point_type='matrix') tangent_projected_data = tpca.fit_transform(X, base_point=mean) result = tpca.inverse_transform(tangent_projected_data) expected = X self.assertAllClose(result, expected)
def test_tangent_pca(data): X = data trans = TangentPCA(n_components=N_COMPONENTS) assert trans.demo_param == 'demo' trans.fit(X) assert trans.n_features_ == X.shape[1] X_trans = trans.transform(X) assert_allclose(X_trans, np.sqrt(X)) X_trans = trans.fit_transform(X) assert_allclose(X_trans, np.sqrt(X))
def test_fit_inverse_transform_vector(self): tpca = TangentPCA(metric=self.metric, point_type='vector') tangent_projected_data = tpca.fit_transform(self.X) result = tpca.inverse_transform(tangent_projected_data) expected = self.X self.assertAllClose(result, expected)