cur*_*sus 2 cluster-analysis k-means scikit-learn
我正在寻找 precompute_distances 属性的效用:
class sklearn.cluster.KMeans(n_clusters=8, init=’k-means++’, n_init=10,
max_iter=300, tol=0.0001, precompute_distances=’auto’, verbose=0,
random_state=None, copy_x=True, n_jobs=1, algorithm=’auto’)
Run Code Online (Sandbox Code Playgroud)
它预先计算了哪些距离?
对于每次 kmeans 迭代,我们需要找到最接近每个样本的集群来进行标记。如果pre_compute == True,这是通过metrics.pairwise_distances_argmin_min(). 如果pre_compute == False,则通过cluster._k_means._assign_labels_array()
第一种方法使用矩阵运算,而后者一次计算一对距离。这就是为什么precompute = True会更快但会使用更多内存的原因。
这些最小距离不能在迭代之间缓存,因为 kmeans 中心会发生变化。
| 归档时间: |
|
| 查看次数: |
1822 次 |
| 最近记录: |