优化1d k-means聚类的python包
kmeans1d的Python项目详细描述
kmeans1d
python库实现了k-这意味着基于该算法的一维数据聚类 年(小林1991),见第2.2节(Gronlund等人,2017)。
全局最优k-这意味着对多维数据进行聚类是np困难的。劳埃德算法是 寻找局部最优解的流行方法。对于一维数据,有多项式时间 算法。这里实现的算法是一个o(kn+n logn)动态规划算法,用于查找 对于n1d数据点,全局最优的k簇。
<代码>用C++编写,用Python包。要求
kmeans1d支持python 3.x。
安装
kmeans1d在pypi(python包索引)上可用。
$ pip3 install kmeans1d
示例用法
importkmeans1dx=[4.0,4.1,4.2,-50,200.2,200.4,200.9,80,100,102]k=4clusters,centroids=kmeans1d.cluster(x,k)print(clusters)# [1, 1, 1, 0, 3, 3, 3, 2, 2, 2]print(centroids)# [-50.0, 4.1, 94.0, 200.5]
许可证
此存储库中的代码有一个MIT License。
见LICENSE。
参考文献
[1]吴,小林。”通过矩阵搜索的最佳量化〉,《算法杂志》第12期,第4期 (1991年12月1日):663
[2]格隆隆,艾伦,卡斯帕·格林·拉森,亚历山大·马蒂亚森,杰斯帕·辛达尔·尼尔森,斯特凡·施奈德, 还有明州歌。”快速精确k-均值、k-中间子和bregman散度在1d内聚集。 ARXIV:1701.07204[CS],2017年1月25日。http://arxiv.org/abs/1701.07204。