Esempio n. 1
1
def test_tga_median():
    # TGA on dense arrays
    tga = TGA(n_components=2, random_state=1, centering='median')
    X = iris.data
    X_r = tga.fit(X).transform(X)
    assert_equal(X_r.shape[1], 2)

    tga = TGA(n_components=2, random_state=1, centering='median')
    X_r2 = tga.fit_transform(X)
    assert_array_almost_equal(X_r, X_r2)

    tga = TGA(random_state=1, centering='median')
    tga.fit(X)
    X_r = tga.transform(X)
    tga = TGA(random_state=1, centering='median')
    X_r2 = tga.fit_transform(X)
    assert_array_almost_equal(X_r, X_r2)
Esempio n. 2
0
def test_pca_error():
    X = [[0, 1], [1, 0]]
    for n_components in [-1, 3]:
        assert_raises(ValueError, TGA(n_components).fit, X)
    for trim_p in [-0.1, 0.6]:
        assert_raises(ValueError, TGA(trim_proportion=trim_p).fit, X)
    assert_raises(ValueError, TGA(centering='invalid').fit, X)
Esempio n. 3
0
def test_tga_check_projection():
    # Test that the projection by RandomizedPCA on dense data is correct
    rng = np.random.RandomState(0)
    n, p = 100, 3
    X = rng.randn(n, p) * .1
    X[:10] += np.array([3, 4, 5])
    Xt = 0.1 * rng.randn(1, p) + np.array([3, 4, 5])

    Yt = TGA(n_components=2, random_state=0).fit(X).transform(Xt)
    Yt /= np.sqrt((Yt ** 2).sum())

    assert_almost_equal(np.abs(Yt[0][0]), 1., 1)