【深度学习基础-17】非监督学习-Hierarchical clustering 层次聚类-python实现

举报
王博Kings 发表于 2020/12/29 23:37:57 2020/12/29
【摘要】 # -*- coding: utf-8 -*-import numpy as npfrom scipy.cluster.hierarchy import dendrogram, linkage, fclusterfrom matplotlib import pyplot as plt def hierarchy_cluster(data, method='average',...

  
  1. # -*- coding: utf-8 -*-
  2. import numpy as np
  3. from scipy.cluster.hierarchy import dendrogram, linkage, fcluster
  4. from matplotlib import pyplot as plt
  5. def hierarchy_cluster(data, method='average', threshold=5.0):
  6. '''层次聚类
  7. Arguments:
  8. data [[0, float, ...], [float, 0, ...]] -- 文档 i 和文档 j 的距离
  9. Keyword Arguments:
  10. method {str} -- [linkage的方式: single、complete、average、centroid、median、ward] (default: {'average'})
  11. threshold {float} -- 聚类簇之间的距离
  12. Return:
  13. cluster_number int -- 聚类个数
  14. cluster [[idx1, idx2,..], [idx3]] -- 每一类下的索引
  15. '''
  16. data = np.array(data)
  17. Z = linkage(data, method=method)
  18. cluster_assignments = fcluster(Z, threshold, criterion='distance')
  19. print(type(cluster_assignments))
  20. num_clusters = cluster_assignments.max()
  21. indices = get_cluster_indices(cluster_assignments)
  22. retur

文章来源: kings.blog.csdn.net,作者:人工智能博士,版权归原作者所有,如需转载,请联系作者。

原文链接:kings.blog.csdn.net/article/details/86528227

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。