在维基百科上,有一个描述如何根据随机方法初始化kmeans集群位置。
在pyclustering中,一个python集群库,各种集群都使用高性能的c-core实现。这个核心比numpy / sklearn更快,所以我想避免在sklearn / numpy中实现任何东西(否则我现在可能会失去代码的快速感觉)。
但是,kmeans class需要初始群集位置列表才能开始。在pyclustering中初始化这些集群位置的预期方法是什么?
答案 0 :(得分:1)
automatically generated pyclustering documentation描述了 kmeans 算法的API。
例如,您有一个2D数据,其中应提取两个群集,然后您需要指定初始中心(pyclustering不会生成应由用户提供的初始中心):
kmeans_instance = kmeans(sample, [ [0.0, 0.1], [2.5, 2.6] ], ccore = True);
其中[0.0,0.1]是第一个簇的初始中心,[2.5,2.6]是第二个簇的初始中心。 Flag'ccore = True'用于CCORE库使用。
运行处理:
kmeans_instance.process();
获得聚类结果:
clusters = kmeans_instance.get_clusters(); # list of clusters
centers = kmeans_instance.get_centers(); # list of cluster centers.
可视化获得的结果:
visualizer = cluster_visualizer();
visualizer.append_clusters(clusters, sample);
visualizer.append_cluster(start_centers, marker = '*', markersize = 20);
visualizer.append_cluster(centers, marker = '*', markersize = 20);
visualizer.show();
Click here to see example of result visualization
用法示例可在以下位置找到:'pyclustering / cluster / example / kmeans_examples.py'
$ ls pyclustering/cluster/examples/ -1
__init__.py
agglomerative_examples.py
birch_examples.py
clarans_examples.py
cure_examples.py
dbscan_examples.py
dbscan_segmentation.py
general_examples.py
hsyncnet_examples.py
kmeans_examples.py <--- kmeans examples
kmeans_segmentation.py
kmedians_examples.py
kmedoids_examples.py
optics_examples.py
rock_examples.py
somsc_examples.py
syncnet_examples.py
syncsom_examples.py
syncsom_segmentation.py
xmeans_examples.py