コード例 #1
0
def test_k_means_initialization_directional_grid_crf():
    X, Y = generate_big_checker(n_samples=10)
    crf = LatentDirectionalGridCRF(n_states_per_label=1, n_features=2,
                                   n_labels=2)
    #crf.initialize(X, Y)
    H = crf.init_latent(X, Y)
    assert_array_equal(Y, H)
コード例 #2
0
def test_k_means_initialization_directional_grid_crf():
    X, Y = generate_big_checker(n_samples=10)
    crf = LatentDirectionalGridCRF(n_states_per_label=1, n_features=2,
                                   n_labels=2)
    #crf.initialize(X, Y)
    H = crf.init_latent(X, Y)
    assert_array_equal(Y, H)
コード例 #3
0
def test_k_means_initialization_graph_crf():
    # with only 1 state per label, nothing happends
    X, Y = generate_big_checker(n_samples=10)
    crf = LatentGraphCRF(n_states_per_label=1, n_features=2, n_labels=2)
    # convert grid model to graph model
    X = [(x.reshape(-1, x.shape[-1]), make_grid_edges(x, return_lists=False))
         for x in X]

    H = crf.init_latent(X, Y)
    assert_array_equal(Y, H)
コード例 #4
0
def test_k_means_initialization_graph_crf():
    # with only 1 state per label, nothing happends
    X, Y = generate_big_checker(n_samples=10)
    crf = LatentGraphCRF(n_states_per_label=1, n_features=2, n_labels=2)
    # convert grid model to graph model
    X = [(x.reshape(-1, x.shape[-1]), make_grid_edges(x, return_lists=False))
         for x in X]

    H = crf.init_latent(X, Y)
    assert_array_equal(Y, H)
コード例 #5
0
def test_k_means_initialization():
    n_samples = 10
    X, Y = generate_big_checker(n_samples=n_samples)
    edges = [make_grid_edges(x, return_lists=True) for x in X]
    # flatten the grid
    Y = Y.reshape(Y.shape[0], -1)
    X = X.reshape(X.shape[0], -1, X.shape[-1])
    n_labels = len(np.unique(Y))
    X = X.reshape(n_samples, -1, n_labels)

    # sanity check for one state
    H = kmeans_init(X,
                    Y,
                    edges,
                    n_states_per_label=[1] * n_labels,
                    n_labels=n_labels)
    H = np.vstack(H)
    assert_array_equal(Y, H)

    # check number of states
    H = kmeans_init(X,
                    Y,
                    edges,
                    n_states_per_label=[3] * n_labels,
                    n_labels=n_labels)
    H = np.vstack(H)
    assert_array_equal(np.unique(H), np.arange(6))
    assert_array_equal(Y, H / 3)

    # for dataset with more than two states
    X, Y = generate_blocks_multinomial(n_samples=10)
    edges = [make_grid_edges(x, return_lists=True) for x in X]
    Y = Y.reshape(Y.shape[0], -1)
    X = X.reshape(X.shape[0], -1, X.shape[-1])
    n_labels = len(np.unique(Y))

    # sanity check for one state
    H = kmeans_init(X,
                    Y,
                    edges,
                    n_states_per_label=[1] * n_labels,
                    n_labels=n_labels)
    H = np.vstack(H)
    assert_array_equal(Y, H)

    # check number of states
    H = kmeans_init(X,
                    Y,
                    edges,
                    n_states_per_label=[2] * n_labels,
                    n_labels=n_labels)
    H = np.vstack(H)
    assert_array_equal(np.unique(H), np.arange(6))
    assert_array_equal(Y, H / 2)
コード例 #6
0
def test_k_means_initialization():
    n_samples = 10
    X, Y = generate_big_checker(n_samples=n_samples)
    edges = [make_grid_edges(x, return_lists=True) for x in X]
    # flatten the grid
    Y = Y.reshape(Y.shape[0], -1)
    X = X.reshape(X.shape[0], -1, X.shape[-1])
    n_labels = len(np.unique(Y))
    X = X.reshape(n_samples, -1, n_labels)

    # sanity check for one state
    H = kmeans_init(X, Y, edges, n_states_per_label=[1] * n_labels,
                    n_labels=n_labels)
    H = np.vstack(H)
    assert_array_equal(Y, H)

    # check number of states
    H = kmeans_init(X, Y, edges, n_states_per_label=[3] * n_labels,
                    n_labels=n_labels)
    H = np.vstack(H)
    assert_array_equal(np.unique(H), np.arange(6))
    assert_array_equal(Y, H // 3)

    # for dataset with more than two states
    X, Y = generate_blocks_multinomial(n_samples=10)
    edges = [make_grid_edges(x, return_lists=True) for x in X]
    Y = Y.reshape(Y.shape[0], -1)
    X = X.reshape(X.shape[0], -1, X.shape[-1])
    n_labels = len(np.unique(Y))

    # sanity check for one state
    H = kmeans_init(X, Y, edges, n_states_per_label=[1] * n_labels,
                    n_labels=n_labels)
    H = np.vstack(H)
    assert_array_equal(Y, H)

    # check number of states
    H = kmeans_init(X, Y, edges, n_states_per_label=[2] * n_labels,
                    n_labels=n_labels)
    H = np.vstack(H)
    assert_array_equal(np.unique(H), np.arange(6))
    assert_array_equal(Y, H // 2)
コード例 #7
0
def test_k_means_initialization_grid_crf():
    # with only 1 state per label, nothing happends
    X, Y = generate_big_checker(n_samples=10)
    crf = LatentGridCRF(n_states_per_label=1, n_features=2, n_labels=2)
    H = crf.init_latent(X, Y)
    assert_array_equal(Y, H)
コード例 #8
0
def test_k_means_initialization_grid_crf():
    # with only 1 state per label, nothing happends
    X, Y = generate_big_checker(n_samples=10)
    crf = LatentGridCRF(n_states_per_label=1, n_features=2, n_labels=2)
    H = crf.init_latent(X, Y)
    assert_array_equal(Y, H)