示例#1
0
def test_calc_same_diff_likelihood_ratio():
    np.random.seed(1234)

    n_k = 100
    K = 7
    dim = 10

    data_dictionary = generate_data(n_k, K, dim)
    X_train = data_dictionary['data'][:500]

    Y = data_dictionary['labels'][:500]
    model = plda.Model(X_train, Y)

    X_infer_category_1 = data_dictionary['data'][500:600]
    X_infer_category_1 = model.transform(X_infer_category_1, 'D', 'U_model')
    X_infer_category_2 = data_dictionary['data'][600:]
    X_infer_category_2 = model.transform(X_infer_category_2, 'D', 'U_model')

    similarity_1v2 = model.calc_same_diff_likelihood_ratio(X_infer_category_1, X_infer_category_2)
    similarity_2v2 = model.calc_same_diff_likelihood_ratio(
        X_infer_category_2[:50],
        X_infer_category_2[50:]
    )
    assert_almost_equal(similarity_1v2, -46868.44557534719)
    assert_almost_equal(similarity_2v2, 29.917954937414834)
示例#2
0
def data_dictionary():
    np.random.seed(1234)

    n_k = 1000
    K = 5
    dim = 10

    return generate_data(n_k, K, dim)
def test_calc_logp_mariginal_likelihood():
    np.random.seed(1234)

    n_k = 100
    K = 5
    dim = 10

    data_dictionary = generate_data(n_k, K, dim)
    X = data_dictionary['data']
    Y = data_dictionary['labels']
    model = plda.Model(X, Y)

    prior_mean = model.prior_params['mean']
    prior_cov_diag = model.prior_params['cov_diag']

    logpdf = gaussian(prior_mean, np.diag(prior_cov_diag + 1)).logpdf

    data = np.random.random((n_k, prior_mean.shape[-1]))
    expected_logps = logpdf(data)
    actual_logps = model.calc_logp_marginal_likelihood(data[:, None])

    assert_allclose(actual_logps, expected_logps)
示例#4
0
def data_dict():
    np.random.seed(1234)

    return generate_data(n_k=1000, K=10, dimensionality=50)
示例#5
0
def truth_dict():
    np.random.seed(1234)
    return generate_data(n_k=500, K=2000, dimensionality=5)