예제 #1
0
def test_tensor_input():
    X = np.random.normal(size=(100, 5, 5))
    mds = ClassicalMDS(n_components=3, dissimilarity="euclidean")
    mds.fit(X)

    assert_equal(mds.dissimilarity_matrix_.shape, (100, 100))

    X_transformed = mds.fit_transform(X)
    assert_equal(X_transformed.shape, (100, 3))
예제 #2
0
    def use_fit_transform():
        A = np.ones((4, 4)) - np.identity(4)

        mds = ClassicalMDS(n_components=3, dissimilarity="precomputed")
        B = mds.fit_transform(A)

        Ahat = _compute_dissimilarity(B)

        # Checks up to 7 decimal points
        assert_almost_equal(A, Ahat)
예제 #3
0
    def use_euclidean():
        A = np.array([
            [-7.62291243e-17, 6.12372436e-01, 4.95031815e-16],
            [-4.97243701e-01, -2.04124145e-01, -2.93397401e-01],
            [5.02711453e-01, -2.04124145e-01, -2.83926977e-01],
            [-5.46775198e-03, -2.04124145e-01, 5.77324378e-01],
        ])

        mds = ClassicalMDS(dissimilarity="euclidean")
        B = mds.fit_transform(A)

        target = np.ones((4, 4)) - np.identity(4)
        assert_almost_equal(mds.dissimilarity_matrix_, target)