python实现聚类算法之k-medoids_使用Python复现SIGKDD2017的PAMAE算法(并行k-medoids算法)...

项目PAMAE复现了SIGKDD2017论文中的并行k-Medoids算法,使用Python模拟MapReduce进行并行处理,旨在平衡效率和准确性。通过两个阶段的全局和局部搜索策略,实现了高效率和高准确性的聚类。文章介绍了k-means和k-medoids的优缺点,展示了PAMAE算法的两个阶段及其在不同中心数量下的聚类效果。
摘要由CSDN通过智能技术生成

作者: 坚新

研究方向:自然语言处理

项目地址,点击文末阅读原文直达:

https://github.com/yangjianxin1/PAMAE

编者按:AINLP技术群的 坚新同学发布了一个新项目:PAMAE ( PAMAE: Parallel k-Medoids Clustering with High Accuracy and Efficiency论文复现  ),以下是来自该项目的详细介绍,欢迎Star。

项目介绍

PAMAE: Parallel k-Medoids Clustering with High Accuracy and Efficiency 是SIGKDD2017一篇关于k-medoids并行聚类的论文,论文中作者使用Spark与Hadoop实现算法的并行化,而本项目使用python并行编程模拟MapReduce的并行,对该论文算法的思想进行复现。

使用本项目复现的代码对中心数量分别为5、10、15、20的数据集进行聚类的效果图如下(数据集大小为1万)

20200105222402_409.jpg

使用方法

直接运行如下命令即可,程序会使用默认参数,生成一个数据集,并对该数据集执行聚类算法

python pamae.py

也可以指定如下参数:

n_points:生成的数据的个数,默认为10000

subset_size:phase 1中采样后子集的大小,默认为100

subset_num:phase 1中采样的子集的数量 ,默认为5

centroid_num:簇中心的数量 ,默认为10

python pamae.py --n_points 10000 --subset_size 100 --subset_num 5 --centroid_num 10

程序产生的Phase 1与Phase 2的聚类结果图,会保存在根目录的results文件夹下,命名方式为"phase[1|2]_数据集大小_采样子集大小_采样子集数量_中心数量",并且在控制台输出每个阶段的的中心集合、耗时、聚类误差等数据

背景介绍

聚类就是将数据集划分为多个簇(cluster),每个簇由若干相似对象组成&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值