Exemplo n.º 1
0
def test_compute_laplacian_matrix_args(almost_equal_decimals=5):
    input_types = ['data', 'adjacency', 'affinity']
    params = [{}, {'radius': 4}, {'radius': 5}]
    lapl_params = [{}, {'scaling_epps': 4}, {'scaling_epps': 10}]
    adjacency_method = 'auto'
    affinity_method = 'auto'

    for laplacian_method in laplacian_methods():
        X = np.random.uniform(size=(10, 2))
        D = compute_adjacency_matrix(X, adjacency_method, **params[1])
        A = compute_affinity_matrix(D, affinity_method, **params[1])
        for init_params in lapl_params:
            for kwarg_params in lapl_params:
                true_params = init_params.copy()
                true_params.update(kwarg_params)
                laplacian_true = compute_laplacian_matrix(
                    A, laplacian_method, **true_params)
            for input in input_types:
                G = Geometry(adjacency_method=adjacency_method,
                             adjacency_kwds=params[1],
                             affinity_method=affinity_method,
                             affinity_kwds=params[1],
                             laplacian_method=laplacian_method,
                             laplacian_kwds=lapl_params[0])
                if input in ['data']:
                    G.set_data_matrix(X)
                if input in ['adjacency']:
                    G.set_adjacency_matrix(D)
                else:
                    G.set_affinity_matrix(A)
                laplacian_queried = G.compute_laplacian_matrix(**kwarg_params)
                assert_array_almost_equal(laplacian_true.todense(),
                                          laplacian_queried.todense(),
                                          almost_equal_decimals)
Exemplo n.º 2
0
def test_compute_laplacian_matrix_args(almost_equal_decimals=5):
    input_types = ['data', 'adjacency', 'affinity']
    params = [{}, {'radius':4}, {'radius':5}]
    lapl_params = [{}, {'scaling_epps':4}, {'scaling_epps':10}]
    adjacency_method = 'auto'
    affinity_method = 'auto'

    for laplacian_method in laplacian_methods():
        X = np.random.uniform(size=(10, 2))
        D = compute_adjacency_matrix(X, adjacency_method, **params[1])
        A = compute_affinity_matrix(D, affinity_method, **params[1])
        for init_params in lapl_params:
            for kwarg_params in lapl_params:
                    true_params = init_params.copy()
                    true_params.update(kwarg_params)
                    laplacian_true = compute_laplacian_matrix(A, laplacian_method, **true_params)
            for input in input_types:
                G = Geometry(adjacency_method = adjacency_method,
                             adjacency_kwds = params[1],
                             affinity_method = affinity_method,
                             affinity_kwds = params[1],
                             laplacian_method = laplacian_method,
                             laplacian_kwds = lapl_params[0])
                if input in ['data']:
                    G.set_data_matrix(X)
                if input in ['adjacency']:
                    G.set_adjacency_matrix(D)
                else:
                    G.set_affinity_matrix(A)
                laplacian_queried = G.compute_laplacian_matrix(**kwarg_params)
                assert_array_almost_equal(laplacian_true.todense(), laplacian_queried.todense(), almost_equal_decimals)
Exemplo n.º 3
0
def test_laplacian_methods():
    assert_equal(
        set(laplacian_methods()), {
            'auto', 'renormalized', 'symmetricnormalized', 'geometric',
            'randomwalk', 'unnormalized'
        })
Exemplo n.º 4
0
def test_laplacian_methods():
    assert_equal(set(laplacian_methods()),
                 {'auto', 'renormalized', 'symmetricnormalized',
                  'geometric', 'randomwalk', 'unnormalized'})