首页 > 解决方案 > (python)标记在3-D坐标系相似区域内的点

问题描述

3-D 空间中有 2000+ 个点(如图 1 所示)。通过 K-Means 方法将这些点分为 7 组。图 1 中的点如下所示:

point_ID_1    x        y        z       group_label
    1       0.254    0.025      0.007        1
    2       0.201    0.078      0.081        1
    3       0.106    0.153      0.238        2
    4       0.052    0.015      0.084        3
    5       0.078    0.005      0.159        7
   ...       ...      ...        ...         ...

在此处输入图像描述

在同一个 3-D 空间中还有其他 5000+ 个点(如图 2 所示)。图 2 中点的 (x,y,z) 与图 2 中的点不同,但它们的分布范围非常相似。

在此处输入图像描述

图片中的点表示为:

point_ID_2    x        y          z       
    1       0.354    0.025      0.028       
    2       0.125    0.128      0.324
    3       0.068    0.292      0.221
    4       0.051    0.086      0.128
    5       0.028    0.081      0.082
   ...       ...      ...        ... 

我想用相同的标签标记图 2 和图 1 的同一区域中的点,如图 3 所示。 在此处输入图像描述

注意到这些点不在同一个表面上,而是在一个 3-D 空间中

我怎样才能做到这一点?我在互联网上搜索了很长时间,但没有找到任何解决方案。请帮我。非常感谢!

标签: python

解决方案


当您使用 Kmeans 对组中的前 2000 个点进行分类时,您获得了一个分类器。您可以使用此分类器来决定其他 5000 个点属于哪个组。如果您使用来自 的 Kmeans scipy,那么您可以使用该功能sklearn.cluster.KMeans.predict()

您可以在文档中找到有关这方面的信息。


推荐阅读