No *_*Lie 2 python knn dataframe pandas
我想从 dataframe 中找到kdataframe 中所有点的最近邻居。这怎么可行?它似乎只需要一组数据,并且只需要一个查询点。ABsklearn.neighbors.NearestNeighbors
喜欢:
samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]
from sklearn.neighbors import NearestNeighbors
neigh = NearestNeighbors(n_neighbors=1)
neigh.fit(samples)
print(neigh.kneighbors([[1., 1., 1.]]))
Run Code Online (Sandbox Code Playgroud)
我想要一个包含多个查询点的数据框而不是 [[1., 1., 1.]]
PS我想要的指标是Mahalanobis其sklearn.neighbors.KDTree不接受,而且scipy.spatial.KDTree甚至没有任何指标的选择。
import pandas as pd
from scipy.spatial import KDTree
dataA = pd.DataFrame(pd.np.random.rand(100, 100))
dataB = pd.DataFrame(pd.np.random.rand(100, 100))
kdB = KDTree(dataB.values)
print(kdB.query(dataA.values, k=3)[-1]) # k desired number of neighbors
#returns indices of 3-neighbors for all rows/points in A
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1459 次 |
| 最近记录: |