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

作者:坚新

研究方向:自然语言处理

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

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万)

6174cfe5b56b6ba62c339aa2d3c3b861.png

使用方法

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

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),每个簇由若干相似对象组成,使得同一个簇中对象

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值