想象两个相关的问题:
我有一个二维数据点和一组2-dim 其他数据点。如何计算一个点与那些点之间所有距离的总和积分?结果是一个数字。
我现在有2-dim 点和相同的集合2-dim 数据点如上。如何计算之间所有距离的总和点和那些积分?应该相当于循环遍历积分并获得这些总和。结果是数字。
这个问题与聚类有关。我使用 kmeans 从校准数据中提取了集群,但现在我想确定我的新点属于哪个集群。当然,简单的循环是低效的。
更新:
这是一个 R 问题。
数学公式:
是-放,是-放。
更新2:
我发现的一种方法是将所有内容分为两个步骤:
- (校准)使用 stats::kmeans() 等方法识别集群。它为整个数据集提供类。
- (回测)将数据集拆分为训练子样本和测试子样本,并使用 class::knn()。来自训练子样本的集群 ID 被假定为“真”。在输出中,它将提供由 knn 在测试子样本中标识的集群 ID。完全按照我的需要使用欧几里德指标选择测试集群 ID。
虽然我无法控制这个过程,但它仍然可以提供令人满意的结果和速度。
必须对单点进行分类的实时解决方案可以通过校准样本来实现(在步骤 1 之后)。