我正在寻找precompute_distances属性的实用程序:
float: none;
它预先计算了哪些距离?
答案 0 :(得分:1)
对于每个kmeans迭代,我们需要找到每个样本最近的簇来执行标记。如果pre_compute == True
,则通过metrics.pairwise_distances_argmin_min()
完成。如果pre_compute == False
,则通过cluster._k_means._assign_labels_array()
第一种方法使用矩阵运算,而后者一次计算一对成对距离。这就是为什么precompute = True
会更快但会占用更多内存的原因。
这些最小距离不能在迭代之间缓存,因为kmeans中心将会发生变化。