任何人都知道如何调整简单的K-means算法来处理this form的数据集。
答案 0 :(得分:1)
此问题的一种可能解决方案是在数据集中添加另一个维度,在这两个维度之间存在拆分。
显然,这在许多情况下都不适用,但如果您对数据应用了某种降维方式,则可能需要进行调查。
答案 1 :(得分:1)
在使用k时处理该表单数据的最直接方法是使用k-means的内核版本。它的2个实现存在于JSAT库中(参见https://github.com/EdwardRaff/JSAT/blob/67fe66db3955da9f4192bb8f7823d2aa6662fc6f/JSAT/src/jsat/clustering/kmeans/ElkanKernelKMeans.java)
正如尼古拉斯所说,另一个选择是创建一个新的特征空间,你可以在其上运行k-means。但是,这需要先了解您将聚类的数据类型。
之后,你真的需要转向不同的算法。 k-means是一个简单的算法,可以对世界做出简单的假设,当这些假设被过度强烈违反时(非线性可分离的集群就是这些假设之一),那么你只需要接受它并选择一个更合适的算法。