集群#
参数#
#include
命名空间 cuvs::cluster::agglomerative
单链接#
include
命名空间 cuvs::cluster::agglomerative
-
void single_linkage(raft::resources const &handle, raft::device_matrix_view<const float, int, raft::row_major> X, raft::device_matrix_view<int, int, raft::row_major> dendrogram, raft::device_vector_view<int, int> labels, cuvs::distance::DistanceType metric, size_t n_clusters, cuvs::cluster::agglomerative::Linkage linkage = cuvs::cluster::agglomerative::Linkage::KNN_GRAPH, std::optional<int> c = std::make_optional<int>(DEFAULT_CONST_C))#
单链接聚类,能够构建一个KNN图,以扩展算法,使其超越使用完全连接图对距离的实现的n^2内存消耗,通过在k不够大时连接knn图来实现。
- Parameters:
handle – [in] raft 句柄
X – [in] 行主序布局的密集输入矩阵
dendrogram – [out] 输出的树状图(大小为 [n_rows - 1] * 2)
labels – [out] 输出标签向量(大小为 n_rows)
metric – [in] 用于构建连接图的距离度量
n_clusters – [in] 要分配给数据样本的簇的数量
linkage – [in] 构建链接的策略。PAIRWISE 使用更多内存,但对于较小的数据集可能更快。KNN_GRAPH 允许控制内存使用(使用参数 c),但可能会增加最小生成树的迭代次数。
c – [输入] 用于从knn图构建链接时的常数。允许间接控制k。算法将设置
k = log(n) + c