本文整理汇总了Python中sklearn.neighbors.ball_tree.BallTree.query方法的典型用法代码示例。如果您正苦于以下问题:Python BallTree.query方法的具体用法?Python BallTree.query怎么用?Python BallTree.query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sklearn.neighbors.ball_tree.BallTree
的用法示例。
在下文中一共展示了BallTree.query方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_ball_tree_pickle
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def test_ball_tree_pickle():
np.random.seed(0)
X = np.random.random((10, 3))
bt1 = BallTree(X, leaf_size=1)
# Test if BallTree with callable metric is picklable
bt1_pyfunc = BallTree(X, metric=dist_func, leaf_size=1, p=2)
ind1, dist1 = bt1.query(X)
ind1_pyfunc, dist1_pyfunc = bt1_pyfunc.query(X)
def check_pickle_protocol(protocol):
s = pickle.dumps(bt1, protocol=protocol)
bt2 = pickle.loads(s)
s_pyfunc = pickle.dumps(bt1_pyfunc, protocol=protocol)
bt2_pyfunc = pickle.loads(s_pyfunc)
ind2, dist2 = bt2.query(X)
ind2_pyfunc, dist2_pyfunc = bt2_pyfunc.query(X)
assert_array_almost_equal(ind1, ind2)
assert_array_almost_equal(dist1, dist2)
assert_array_almost_equal(ind1_pyfunc, ind2_pyfunc)
assert_array_almost_equal(dist1_pyfunc, dist2_pyfunc)
for protocol in (0, 1, 2):
yield check_pickle_protocol, protocol
示例2: test_ball_tree_pickle
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def test_ball_tree_pickle():
rng = check_random_state(0)
X = rng.random_sample((10, 3))
bt1 = BallTree(X, leaf_size=1)
# Test if BallTree with callable metric is picklable
bt1_pyfunc = BallTree(X, metric=dist_func, leaf_size=1, p=2)
ind1, dist1 = bt1.query(X)
ind1_pyfunc, dist1_pyfunc = bt1_pyfunc.query(X)
def check_pickle_protocol(protocol):
s = pickle.dumps(bt1, protocol=protocol)
bt2 = pickle.loads(s)
s_pyfunc = pickle.dumps(bt1_pyfunc, protocol=protocol)
bt2_pyfunc = pickle.loads(s_pyfunc)
ind2, dist2 = bt2.query(X)
ind2_pyfunc, dist2_pyfunc = bt2_pyfunc.query(X)
assert_array_almost_equal(ind1, ind2)
assert_array_almost_equal(dist1, dist2)
assert_array_almost_equal(ind1_pyfunc, ind2_pyfunc)
assert_array_almost_equal(dist1_pyfunc, dist2_pyfunc)
assert isinstance(bt2, BallTree)
for protocol in (0, 1, 2):
check_pickle_protocol(protocol)
示例3: similar_products2
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def similar_products2(deep_f):
qs = Product.objects.all()
df=read_frame(qs)
df['idx'] = range(1, len(df) + 1)
feature_list=[]
asin_list=[]
for prod in qs:
feature_list.append(prod.get_features())
asin_list.append(prod.asin)
nparray = np.asarray(feature_list)
#print nparray
tree = BallTree(nparray)
dist, ind = tree.query(deep_f, k=5)
print ind
index = ind[0]
recom = index[0:]
recommended_asins =[];
for i in recom:
recommended_asins.append(asin_list[i])
recommended_prods = Product.objects.filter(asin__in = recommended_asins)
return recommended_prods
# image_train = graphlab.SFrame(data=df)
# cur_prod = image_train[18:19]
# print cur_prod
# print image_train
# knn_model = graphlab.nearest_neighbors.create(image_train, features = ['features'],label = 'asin',distance = 'levenshtein',method = 'ball_tree')
# knn_model.save('my_knn')
# #knn_model= graphlab.load_model('my_knn')
# #print knn_model.query(cur_prod)
# #knn_model = graphlab.nearest_neighbors.create(image_train, features = ['features'],label = 'keywords')
示例4: similar_products
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def similar_products(product):
qs = Product.objects.all()
df=read_frame(qs)
df['idx'] = range(1, len(df) + 1)
feature_list=[]
asin_list=[]
product_index = 0
inn=0
for prod in qs:
feature_list.append(prod.get_features())
asin_list.append(prod.asin)
if prod.asin == product.asin:
product_index = inn
inn+=1
nparray = np.asarray(feature_list)
#print nparray
tree = BallTree(nparray)
dist, ind = tree.query(nparray[product_index], k=5)
print ind
index = ind[0]
recom = index[1:]
recommended_asins =[];
for i in recom:
recommended_asins.append(asin_list[i])
recommended_prods = Product.objects.filter(asin__in = recommended_asins)
return recommended_prods
示例5: check_neighbors
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def check_neighbors(dualtree, breadth_first, k, metric, kwargs):
bt = BallTree(X, leaf_size=1, metric=metric, **kwargs)
dist1, ind1 = bt.query(Y, k, dualtree=dualtree, breadth_first=breadth_first)
dist2, ind2 = brute_force_neighbors(X, Y, k, metric, **kwargs)
# don't check indices here: if there are any duplicate distances,
# the indices may not match. Distances should not have this problem.
assert_array_almost_equal(dist1, dist2)
示例6: test_query_haversine
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def test_query_haversine():
np.random.seed(0)
X = 2 * np.pi * np.random.random((40, 2))
bt = BallTree(X, leaf_size=1, metric='haversine')
dist1, ind1 = bt.query(X, k=5)
dist2, ind2 = brute_force_neighbors(X, X, k=5, metric='haversine')
assert_array_almost_equal(dist1, dist2)
assert_array_almost_equal(ind1, ind2)
示例7: test_query_haversine
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def test_query_haversine():
rng = check_random_state(0)
X = 2 * np.pi * rng.random_sample((40, 2))
bt = BallTree(X, leaf_size=1, metric='haversine')
dist1, ind1 = bt.query(X, k=5)
dist2, ind2 = brute_force_neighbors(X, X, k=5, metric='haversine')
assert_array_almost_equal(dist1, dist2)
assert_array_almost_equal(ind1, ind2)
示例8: test_ball_tree_query_metrics
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def test_ball_tree_query_metrics(metric):
rng = check_random_state(0)
if metric in BOOLEAN_METRICS:
X = rng.random_sample((40, 10)).round(0)
Y = rng.random_sample((10, 10)).round(0)
elif metric in DISCRETE_METRICS:
X = (4 * rng.random_sample((40, 10))).round(0)
Y = (4 * rng.random_sample((10, 10))).round(0)
k = 5
bt = BallTree(X, leaf_size=1, metric=metric)
dist1, ind1 = bt.query(Y, k)
dist2, ind2 = brute_force_neighbors(X, Y, k, metric)
assert_array_almost_equal(dist1, dist2)
示例9: test_ball_tree_query
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def test_ball_tree_query(metric, k, dualtree, breadth_first):
rng = check_random_state(0)
X = rng.random_sample((40, DIMENSION))
Y = rng.random_sample((10, DIMENSION))
kwargs = METRICS[metric]
bt = BallTree(X, leaf_size=1, metric=metric, **kwargs)
dist1, ind1 = bt.query(Y, k, dualtree=dualtree,
breadth_first=breadth_first)
dist2, ind2 = brute_force_neighbors(X, Y, k, metric, **kwargs)
# don't check indices here: if there are any duplicate distances,
# the indices may not match. Distances should not have this problem.
assert_array_almost_equal(dist1, dist2)
示例10: test_ball_tree_pickle
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def test_ball_tree_pickle():
import pickle
np.random.seed(0)
X = np.random.random((10, 3))
bt1 = BallTree(X, leaf_size=1)
ind1, dist1 = bt1.query(X)
def check_pickle_protocol(protocol):
s = pickle.dumps(bt1, protocol=protocol)
bt2 = pickle.loads(s)
ind2, dist2 = bt2.query(X)
assert_allclose(ind1, ind2)
assert_allclose(dist1, dist2)
for protocol in (0, 1, 2):
yield check_pickle_protocol, protocol
示例11: _nonlocalmeans_clustered
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def _nonlocalmeans_clustered(img, n_small=5, n_components=9, n_neighbors=30, h=10):
Nw = (2 * n_small + 1) ** 2
h2 = h * h
n_rows, n_cols = img.shape
# precompute the coordinate difference for the big patch
small_rows, small_cols = np.indices(((2 * n_small + 1), (2 * n_small + 1))) - n_small
# put all patches so we can cluster them
n_padded = np.pad(img, n_small, mode='reflect')
patches = np.zeros((n_rows * n_cols, Nw))
n = 0
for r in range(n_small, n_small + n_rows):
for c in range(n_small, n_small + n_cols):
window = n_padded[r + small_rows, c + small_cols].flatten()
patches[n, :] = window
n += 1
transformed = PCA(n_components=n_components).fit_transform(patches)
# index the patches into a tree
tree = BallTree(transformed, leaf_size=2)
print("Denoising")
new_img = np.zeros_like(img)
for r in range(n_rows):
for c in range(n_cols):
idx = r * n_cols + c
dist, ind = tree.query(transformed[idx], k=n_neighbors)
ridx = np.array([(int(i / n_cols), int(i % n_cols)) for i in ind[0, 1:]])
colors = img[ridx[:, 0], ridx[:, 1]]
w = np.exp(-dist[0, 1:] / h2)
new_img[r, c] = np.sum(w * colors) / np.sum(w)
return new_img
示例12: check_neighbors
# 需要导入模块: from sklearn.neighbors.ball_tree import BallTree [as 别名]
# 或者: from sklearn.neighbors.ball_tree.BallTree import query [as 别名]
def check_neighbors(metric):
bt = BallTree(X, leaf_size=1, metric=metric)
dist1, ind1 = bt.query(Y, k)
dist2, ind2 = brute_force_neighbors(X, Y, k, metric)
assert_array_almost_equal(dist1, dist2)