줄리아에서 계층적 군집화하는 방법

줄리아에서 계층적 군집화하는 방법

How to Hierarchical Cluster in Julia

설명

Clustering.jl 패키지의 hclust() 함수를 사용하면 된다.

  • hclust(d::AbstractMatrix; [linkage], [uplo], [branchorder])

거리행렬을 입력으로 받아 계층적 군집화 결과를 반환한다. 군집간의 거리는 단일 연결이 기본이다.

덴드로그램을 그리려면 Plots.jl이 아니라 StatsPlots.jl을 사용해야한다.

코드

using StatsPlots 
using Clustering 
using Distances 
using Distributions


a = rand(Uniform(-1,1), 2, 25)
scatt = scatter(a[1,:], a[2,:], label=false)
savefig(scatt, "julia_hclust_scatter.png")

julia_hclust_scatter.png

D_a = pairwise(Euclidean(), a, a)
SL = hclust(D_a, linkage=:single)
plot_SL = plot(SL)

p = plot(scatt, plot_SL, size=(800,400))
savefig(p, "julia_hclust.png")

julia_hclust.png

댓글