Hướng dẫn python kdtree example - ví dụ python kdtree

classScipy.spatial.kdtree (data, LeafSize = 10, compact_nodes = true, copy_data = false, Balance_tree = true, boxSize = none) [nguồn]#scipy.spatial.KDTree(data, leafsize=10, compact_nodes=True, copy_data=False, balanced_tree=True, boxsize=None)[source]#scipy.spatial.KDTree(data, leafsize=10, compact_nodes=True, copy_data=False, balanced_tree=True, boxsize=None)[source]#scipy.spatial.KDTree(data, leafsize=10, compact_nodes=True, copy_data=False, balanced_tree=True, boxsize=None)[source]#

KD-Tree để tra cứu thời gian gần nhất.

Lớp này cung cấp một chỉ mục vào một tập hợp các điểm K chiều có thể được sử dụng để nhanh chóng tìm kiếm các hàng xóm gần nhất của bất kỳ điểm nào.

Tham sốdataarray_like, hình dạng (n, m)dataarray_like, shape (n,m)dataarray_like, shape (n,m)dataarray_like, shape (n,m)

Các điểm dữ liệu n của kích thước m sẽ được lập chỉ mục. Mảng này không được sao chép trừ khi điều này là cần thiết để tạo ra một mảng đôi tiếp giáp, và do đó, việc sửa đổi dữ liệu này sẽ dẫn đến kết quả không có thật. Dữ liệu cũng được sao chép nếu cây KD được xây dựng với copy_data = true.

Lá int, tùy chọnpositive int, optionalpositive int, optionalpositive int, optional

Số lượng điểm mà thuật toán chuyển sang lực lượng vũ phu. Mặc định: 10.

compact_nodesbool, tùy chọnbool, optionalbool, optionalbool, optional

Nếu đúng, cây KD được xây dựng để thu nhỏ các siêu dữ liệu vào phạm vi dữ liệu thực tế. Điều này thường cung cấp cho một cây nhỏ gọn hơn mạnh mẽ chống lại dữ liệu đầu vào bị thoái hóa và cung cấp các truy vấn nhanh hơn với chi phí thời gian xây dựng dài hơn. Mặc định: Đúng.

copy_databool, tùy chọnbool, optionalbool, optionalbool, optional

Nếu đúng, dữ liệu luôn được sao chép để bảo vệ cây KD chống lại tham nhũng dữ liệu. Mặc định: Sai.

Balanced_Treeebool, tùy chọnbool, optionalbool, optionalbool, optional

Nếu đúng, trung bình được sử dụng để phân chia các siêu phân tích thay vì điểm giữa. Điều này thường cung cấp một cây nhỏ gọn hơn và các truy vấn nhanh hơn với chi phí thời gian xây dựng dài hơn. Mặc định: Đúng.

hộparray_like or scalar, optionalarray_like or scalar, optionalarray_like or scalar, optional

Áp dụng cấu trúc liên kết hình xuyến M-d cho kdtree .. Cấu trúc liên kết được tạo bởi \ (x_i + n_i l_i \) trong đó \ (n_i \) là số nguyên và \ (l_i \) là các hộp dọc theo chiều thứ i. Dữ liệu đầu vào phải được gói thành \ ([0, l_i) \). Một giá trịerror được nêu ra nếu bất kỳ dữ liệu nào nằm ngoài giới hạn này.\(x_i + n_i L_i\) where \(n_i\) are integers and \(L_i\) is the boxsize along i-th dimension. The input data shall be wrapped into \([0, L_i)\). A ValueError is raised if any of the data is outside of this bound.\(x_i + n_i L_i\) where \(n_i\) are integers and \(L_i\) is the boxsize along i-th dimension. The input data shall be wrapped into \([0, L_i)\). A ValueError is raised if any of the data is outside of this bound.\(x_i + n_i L_i\) where \(n_i\) are integers and \(L_i\) is the boxsize along i-th dimension. The input data shall be wrapped into \([0, L_i)\). A ValueError is raised if any of the data is outside of this bound.

Ghi chú

Thuật toán được sử dụng được mô tả trong Maneewongvatana và Mount 1999. Ý tưởng chung là cây KD là một cây nhị phân, mỗi nút có các nút đại diện cho một hyperrectang được liên kết với trục. Mỗi nút chỉ định một trục và phân tách tập hợp các điểm dựa trên việc tọa độ của chúng dọc theo trục đó lớn hơn hoặc nhỏ hơn một giá trị cụ thể.

Trong quá trình xây dựng, trục và điểm phân tách được chọn bởi quy tắc điểm giữa trượt, đảm bảo rằng các tế bào không trở nên dài và mỏng.

Cây có thể được truy vấn cho các hàng xóm gần nhất của bất kỳ điểm nào đã cho (chỉ trả về chỉ những người trong khoảng cách tối đa của điểm). Nó cũng có thể được truy vấn, với mức tăng đáng kể về hiệu quả, đối với các hàng xóm gần nhất R gần đây.

Đối với các kích thước lớn (20 đã lớn) không mong đợi điều này sẽ chạy nhanh hơn đáng kể so với lực lượng vũ phu. Các truy vấn lân cận gần nhất chiều cao là một vấn đề mở đáng kể trong khoa học máy tính.

Thuộc tínhDatandArray, hình dạng (n, m)datandarray, shape (n,m)datandarray, shape (n,m)datandarray, shape (n,m)

Các điểm dữ liệu n của kích thước m sẽ được lập chỉ mục. Mảng này không được sao chép trừ khi điều này là cần thiết để tạo ra một mảng đôi tiếp giáp. Dữ liệu cũng được sao chép nếu cây KD được xây dựng với copy_data = true.

LeafsizePositive intpositive intpositive intpositive int

Số lượng điểm mà thuật toán chuyển sang lực lượng vũ phu.

cây bạc hàintintint

Kích thước của một điểm dữ liệu duy nhất.

nintintintint

Số lượng điểm dữ liệu.

Maxesndarray, Shape (M,)ndarray, shape (m,)ndarray, shape (m,)ndarray, shape (m,)

Giá trị tối đa trong mỗi chiều của các điểm dữ liệu n.

Minsndarray, Shape (M,)ndarray, shape (m,)ndarray, shape (m,)ndarray, shape (m,)

Giá trị tối thiểu trong mỗi chiều của các điểm dữ liệu n.

Kích thướcintintint

Số lượng nút trong cây.

Phương pháp

count_neighbors(other, r[, p, weights, ...])

Đếm có bao nhiêu cặp gần đó có thể được hình thành.

query(x[, k, eps, p, distance_upper_bound, ...])

Truy vấn cây KD cho hàng xóm gần nhất.

query_ball_point(x, r[, p, eps, workers, ...])

Tìm tất cả các điểm trong khoảng cách r của điểm (s) x.

query_ball_tree(other, r[, p, eps])

Tìm tất cả các cặp điểm giữa bản thân và người khác có khoảng cách nhiều nhất là r.

query_pairs(r[, p, eps, output_type])

Tìm tất cả các cặp điểm trong bản thân có khoảng cách nhiều nhất là r.

sparse_distance_matrix(other, max_distance)

Tính toán một ma trận khoảng cách thưa thớt.