我试图通过首先在 R 中执行 K-means 聚类然后为每个代表性聚类采样 50-100 个样本以进行下游分类和特征选择来减少输入数据大小。
原始数据集被拆分为 80/20,然后 80% 进入 K 均值训练。我知道输入数据有 2 列标签和 110 列数值变量。从标签栏中,我知道有 7 种不同的药物治疗方法。同时,我测试了肘部方法以找到集群数量的最佳 K,它在 8 左右。所以我选择了 10,以便有更多的数据集群可供下游采样。
现在我已经完成了模型 <- Kmeans() 的运行,输出列表让我有点困惑该怎么做。由于我必须仅缩放数字变量以放入 kmeans 函数中,因此输出集群成员不再具有该处理标签。我可以通过将集群成员附加到原始训练数据表来克服这一点。
那么对于 10 个质心,我如何找出标签是什么?我不能只做
training_set$centroids <- model$centroids
最重要的问题是,我如何找到每个集群的 100 个样本,这些样本与各自的质心最接近?我在 python 中看到过一篇文章,但还没有 R 资源。 使用 scikit-learn.k-means 库输出最接近每个聚类中心的 50 个样本 任何指针?