Пример #1
0
def test_negative_binomial_obj_sparse():
    n = 10
    random_state = np.random.RandomState(42)
    X = random_state.rand(n, 3)
    counts = random_state.randn(n, n)
    counts = np.triu(counts)
    counts[np.arange(len(counts)), np.arange(len(counts))] = 0
    obj_dense = negative_binomial.negative_binomial_obj(X, counts)
    obj_sparse = negative_binomial.negative_binomial_obj(
        X, sparse.coo_matrix(counts))

    assert_almost_equal(obj_dense, obj_sparse)
Пример #2
0
def test_negative_binomial_obj_sparse():
    n = 10
    random_state = np.random.RandomState(42)
    X = random_state.rand(n, 3)
    counts = random_state.randn(n, n)
    counts = np.triu(counts)
    counts[np.arange(len(counts)), np.arange(len(counts))] = 0
    # obj_dense = negative_binomial.negative_binomial_obj(X, counts)
    obj_sparse = negative_binomial.negative_binomial_obj(
        X, sparse.coo_matrix(counts))
Пример #3
0
def test_negative_binomial_obj_sparse_biased():
    random_state = np.random.RandomState(seed=42)
    n = 50
    X = random_state.rand(n, 3)
    bias = 0.1 + random_state.rand(n)
    bias = bias.reshape(n, 1)

    counts = euclidean_distances(X)**(-3)
    counts[np.isinf(counts) | np.isnan(counts)] = 0
    counts *= bias * bias.T

    counts_dense = np.triu(counts, 1)
    counts_sparse = sparse.coo_matrix(np.triu(counts, 1))
    exp_dense = negative_binomial.negative_binomial_obj(X,
                                                        counts_dense,
                                                        -3,
                                                        bias=bias)
    exp_sparse = negative_binomial.negative_binomial_obj(X,
                                                         counts_sparse,
                                                         -3,
                                                         bias=bias)
    assert_almost_equal(exp_dense, exp_sparse)
Пример #4
0
def test_negative_binomial_obj_sparse_biased():
    random_state = np.random.RandomState(seed=42)
    n = 50
    X = random_state.rand(n, 3)
    bias = 0.1 + random_state.rand(n)
    bias = bias.reshape(n, 1)

    counts = euclidean_distances(X)**(-3)
    counts[np.isinf(counts) | np.isnan(counts)] = 0
    counts *= bias * bias.T

    counts_dense = np.triu(counts)
    counts_sparse = sparse.coo_matrix(np.triu(counts))
    #exp_dense = negative_binomial.negative_binomial_obj(
    #    X, counts_dense, -3, bias=bias)
    exp_sparse = negative_binomial.negative_binomial_obj(
        X, counts_sparse, -3, bias=bias)