从一组数据中抽取另一组中与它近邻的数据的代码
时间: 2024-04-29 16:26:54 浏览: 64
数据采集的代码
以下是一个简单的 Python 代码示例,可以从一个数据集中抽取与另一个数据集中的数据近邻的数据:
```python
import numpy as np
from sklearn.neighbors import NearestNeighbors
# 生成样本数据
X1 = np.random.rand(50, 2)
X2 = np.random.rand(20, 2)
# 计算近邻
n_neighbors = 5
nbrs = NearestNeighbors(n_neighbors=n_neighbors, algorithm='ball_tree').fit(X1)
distances, indices = nbrs.kneighbors(X2)
# 从 X1 中抽取近邻
X2_neighbors = []
for i in range(len(X2)):
neighbor_indices = indices[i]
X2_neighbors.append(X1[neighbor_indices])
# 打印结果
print(X2_neighbors)
```
这个例子使用了 scikit-learn 的 `NearestNeighbors` 类来计算近邻。它将 `X1` 中的每个点与最近的 `n_neighbors` 个点进行匹配,并返回它们的距离和索引。然后,我们可以使用这些索引来从 `X1` 中抽取近邻,并将它们存储在 `X2_neighbors` 列表中。
阅读全文