我想在R中执行均值漂移聚类,发现至少有两个具有此功能的软件包:MeanShift
和meanShiftR
。如图所示,here后者要快得多,而当我尝试第一个时,花了很长时间来执行聚类,所以我很想选择meanShiftR
。但是meanShiftR::meanShift
函数的带宽规格很少见,请参阅文档的一部分:
queryData 要按均值分类的点的矩阵或向量 移位算法。值必须是有限且不可缺少的。
带宽一个向量,其长度等于queryData矩阵中的列数,或者当queryData是向量时的长度为一。这个 值将用于核密度估计中,以实现最陡峭的上升 分类。每个维度的默认值是一个。
我不是均值漂移聚类专家,但是我在文献中发现的唯一带宽定义是带宽是标量或正定的对称矩阵,而不是矢量。那么,代表带宽的技术诀窍和带宽值在每个维度上都必须相同吗?也许它会有所不同?
另一个问题是,即使在meanShiftR包中设置了与MeanShift :: msClustering相同的带宽值,但只是复制以匹配列数,我却获得了完全不同的结果,尤其是簇数更多。而且,这些模式非常相似,不能代表数据集。这让我想知道这个程序包是否正确。有人曾经使用过meanShiftR
吗?如果是这样,也许您可以举任何例子,因为文档对我来说还不够清楚?
答案 0 :(得分:0)
实际上没有什么不同。
每个查询点一个标量。