def test_query_dual(self): data = np.array([[1, 1]]) pts = np.array([[1, 1]]) tree = KDTree(data, leafsize=2) treep = KDTree(pts, leafsize=2) dens = KDTree.query_dual_tree(tree, treep, 1) kfit = KernelDensity(bandwidth=1.0, kernel="gaussian", breadth_first=True, leaf_size=2, metric_params=None).fit(data) result = kfit.score_samples(pts) self.assertTrue((dens - np.exp(result)) < 0.001)
def test_query_dual_rand(self): d = 5 data = np.random.rand(51, d) pts = np.random.rand(3, d) tree = KDTree(data, leafsize=4) treep = KDTree(pts, leafsize=4) dens = KDTree.query_dual_tree(tree, treep, 1) kfit = KernelDensity(bandwidth=1.0, kernel="gaussian", breadth_first=True, leaf_size=2, metric_params=None).fit(data) result = kfit.score_samples(pts) self.assertTrue(np.sum(dens - np.exp(result)) < 0.001)