def test_linked_nltcs_kernel_spn_perf(): print('Loading datasets') train, valid, test = dataset.load_train_val_test_csvs('nltcs') n_instances = train.shape[0] # estimating the frequencies for the features print('Estimating features') freqs, features = dataset.data_2_freqs(train) print('ninst', n_instances, 'feats', features) print('Build kernel density estimation') spn = SpnFactory.linked_kernel_density_estimation(n_instances, features) print(spn.stats()) print('Evaluating on test') # evaluating one at a time since we are using a sparse representation lls = [] eval_start_t = perf_counter() for i in range(test.shape[0]): print('instance', i) lls.append(spn.eval(test[i, :])) print('Mean lls') # avg_ll = sum(lls) / float(len(lls)) avg_ll = numpy.mean(lls) eval_end_t = perf_counter() print('AVG LL {0} in {1} secs'.format(avg_ll, eval_end_t - eval_start_t))
def test_linked_kernel_density_estimation(): num_instances = 5 spn = SpnFactory.linked_kernel_density_estimation(num_instances, vars) print('Kernel density estimation') print(spn) print(spn.stats())
def test_linked_nltcs_kernel_spn_perf(): print('Loading datasets') train, valid, test = dataset.load_train_val_test_csvs('nltcs') n_instances = train.shape[0] # estimating the frequencies for the features print('Estimating features') freqs, features = dataset.data_2_freqs(train) print('ninst', n_instances, 'feats', features) print('Build kernel density estimation') spn = SpnFactory.linked_kernel_density_estimation(n_instances, features) print(spn.stats()) print('Evaluating on test') # evaluating one at a time since we are using a sparse representation lls = [] eval_start_t = perf_counter() for i in range(test.shape[0]): print('instance', i) lls.append(spn.eval(test[i, :])) print('Mean lls') # avg_ll = sum(lls) / float(len(lls)) avg_ll = numpy.mean(lls) eval_end_t = perf_counter() print('AVG LL {0} in {1} secs'.format(avg_ll, eval_end_t - eval_start_t))
def test_linked_kernel_density_estimation(): num_instances = 5 spn = SpnFactory.linked_kernel_density_estimation(num_instances, vars) print('Kernel density estimation') print(spn) print(spn.stats())
def atest_nltcs_em_fit(): print('Loading datasets') train, valid, test = dataset.load_train_val_test_csvs('nltcs') n_instances = train.shape[0] # estimating the frequencies for the features print('Estimating features') freqs, features = dataset.data_2_freqs(train) print('Build kernel density estimation') spn = SpnFactory.linked_kernel_density_estimation(n_instances, features) print('EM training') spn.fit_em(train, valid, test, hard=True, epochs=2)
def test_sgd(): print('Loading datasets') train, valid, test = dataset.load_train_val_test_csvs('nltcs') n_instances = train.shape[0] n_test_instances = test.shape[0] # estimating the frequencies for the features print('Estimating features') freqs, features = dataset.data_2_freqs(train) print('Build kernel density estimation') spn = SpnFactory.linked_kernel_density_estimation(n_instances, features) print('Created SPN with\n' + spn.stats()) print('Starting SGD') spn.fit_sgd(train, valid, test, learning_rate=0.1, n_epochs=20, batch_size=1, hard=False)