哪种聚类算法适合此任务?

时间:2017-03-03 18:10:05

标签: cluster-analysis k-means

我想对一组数据进行聚类,如下所示:

template <typename T0, typename T1>
bool typed_valid( SEXP* args, int nargs ){
  return nargs == 2 && Rcpp::is<T0>(args[0]) && Rcpp::is<T1>(args[1]) ;
}

其中数据没有固定的尺寸。

当K = 2时,应将前3个元素聚类为一个组,将其他4个元素聚为一个组。

我理解k-means算法,但问题是它的距离计算不适合我的情况。由于各种尺寸,我使用Jaccard距离表示每两个元素的距离。

而不是计算手段,一个想法是找到群集的质心。质心是一个与群集中所有其他点的距离最小的点。

我正在根据上述想法研究该程序,实现k-means ++聚类。我想要一个稳定的算法(每次运行输出不应该非常不同),应该相对较快并且必须使用Jaccard距离。

我在这里听取建议,因为这是我第一次进行数据聚类,所以也许我错过了一些东西。如果有错误,请向我推荐合适的算法或指出我的错误。

1 个答案:

答案 0 :(得分:1)

而不是k-means - 需要固定数量的连续值维度才能计算出来 - 为什么不使用更合适的

分层聚类

可与Jaccard距离一起使用!