Kmeans 聚类将随机选择初始化点,然后运行算法直到达到收敛。有没有办法我可以选择自己的初始化点并将它们传递到 scikit-learn 中的 kmeans 库中。我在文档中找不到任何方法来做到这一点。
为 kmeans 选择自己的初始化点
数据挖掘
Python
scikit-学习
k-均值
2022-03-03 23:28:34
1个回答
假设您的意思是sklearn.cluster.KMeans,您可以使用init参数传入初始化点:
init : {'k-means++', 'random'}, callable or array-like of shape (n_clusters, n_features), default='k-means++' 初始化方法:
'k-means++' :以智能方式为 k-means 聚类选择初始聚类中心以加速收敛。有关更多详细信息,请参阅 k_init 中的注释部分。
'random':从初始质心的数据中随机选择 n_clusters 个观测值(行)。
如果传递了一个数组,它的形状应该是 (n_clusters, n_features) 并给出初始中心。
如果传递了一个可调用对象,它应该接受参数 X、n_clusters 和一个随机状态并返回一个初始化。
其它你可能感兴趣的问题