【层次聚类】python scipy实现
生活随笔
收集整理的這篇文章主要介紹了
【层次聚类】python scipy实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
層次聚類
原理
有一個講得很清楚的博客:博客地址
主要用于:沒有groundtruth,且不知道要分幾類的情況
用scipy模塊實現聚類
參考函數說明:
pdist
squareform
linkage
fcluster
例: 已有距離矩陣,進行層次聚類
import scipy import scipy.cluster.hierarchy as sch import numpy as np import msgpack# 讀取距離矩陣 f = open("distance.msgpack", "r") dis = msgpack.loads(f.read()) dis_arr = np.array(dis)# 壓縮距離矩陣 disMat = scipy.spatial.distance.squareform(dis_arr)# 生成聚類樹 Z=sch.linkage(disMat,method='average') print Z# 得到聚類結果 cluster= sch.fcluster(Z, 0.2, 'distance')print cluster轉載于:https://www.cnblogs.com/dplearning/p/8574850.html
總結
以上是生活随笔為你收集整理的【层次聚类】python scipy实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到树上好多梨是什么意思
- 下一篇: Python----面向对象---自定义