def test_time(n_samples=1000, n_features=100, leaf_size=1, k=20): X = numpy.random.random([n_samples, n_features]) print "---------------------------------------------------" print "%i neighbors of %i points in %i dimensions:" % (k, n_samples, n_features) print " (leaf size = %i)" % leaf_size print " -------------" t0 = time() BT = BallTree(X, leaf_size) print " Ball Tree construction : %.3g sec" % (time() - t0) d, nbrs1 = BT.query(X, k) print " total (construction+query) : %.3g sec" % (time() - t0) print " -------------" t0 = time() KDT = cKDTree(X, leaf_size) print " KD tree construction : %.3g sec" % (time() - t0) d, nbrs2 = KDT.query(X, k) print " total (construction+query) : %.3g sec" % (time() - t0) print " -------------" print " neighbors match: ", print compare_nbrs(nbrs1, nbrs2) print " -------------"
def test_time(N=1000, D=100, ls=1, k=20): M = numpy.random.random([N,D]) print "---------------------------------------------------" print "%i neighbors of %i points in %i dimensions:" % (k,N,D) print " (leaf size = %i)" % ls print " -------------" t0 = time() BT = BallTree(M,ls) print " Ball Tree construction : %.3g sec" % ( time()-t0 ) d,nbrs1 = BT.query(M,k) print " total (construction+query) : %.3g sec" % ( time()-t0 ) print " -------------" t0 = time() KDT = cKDTree(M,ls) print " KD tree construction : %.3g sec" % ( time()-t0 ) d,nbrs2 = KDT.query(M,k) print " total (construction+query) : %.3g sec" % ( time()-t0 ) print " -------------" print " neighbors match: ", print ( compare_nbrs(nbrs1,nbrs2) ) print " -------------"
N = len(nbrs1) return numpy.all(nbrs1 == nbrs2) N = 1000 ls = 1 # leaf size k = 20 BT_results = [] KDT_results = [] for i in range(1, 10): print 'Iteration %s' %i D = i*100 M = np.random.random([N, D]) t0 = time() BT = BallTree(M, ls) d, nbrs1 = BT.query(M, k) delta = time() - t0 BT_results.append(delta) t0 = time() KDT = cKDTree(M, ls) d, nbrs2 = KDT.query(M, k) delta = time() - t0 KDT_results.append(delta) # this checks we get the correct result assert compare_nbrs(nbrs1,nbrs2) xx = 100*np.arange(1, 10) pl.plot(xx, BT_results, label='scikits.learn (BallTree)')
return np.all(nbrs1 == nbrs2) if __name__ == '__main__': n_samples = 1000 leaf_size = 1 # leaf size k = 20 BT_results = [] KDT_results = [] for i in range(1, 10): print 'Iteration %s' %i n_features = i*100 X = np.random.random([n_samples, n_features]) t0 = time() BT = BallTree(X, leaf_size) d, nbrs1 = BT.query(X, k) delta = time() - t0 BT_results.append(delta) t0 = time() KDT = cKDTree(X, leaf_size) d, nbrs2 = KDT.query(X, k) delta = time() - t0 KDT_results.append(delta) # this checks we get the correct result assert compare_nbrs(nbrs1, nbrs2) xx = 100 * np.arange(1, 10) pl.plot(xx, BT_results, label='scikits.learn (BallTree)')