具有可绘制的树状图-如何为分层聚类设置自定义链接方法

问题描述 投票:2回答:1

我是情节新手,需要绘制具有组平均链接的树状图。

我知道distfun中有一个create_dendrogram()参数,但我不知道要传递给该参数以获取Group Average Linkagedistfun参数显然必须是可调用的。我应该给它传递什么功能?

作为旁注,我有一个示例的成对距离矩阵 0 13 0 2 14 0 17 1 18 0 当我传递给create_dendrogram()方法时,似乎会产生错误的结果。我在这里错了吗?

代码:

import plotly.figure_factory as ff

import numpy as np

X = np.matrix([[0,0,0,0],[13,0,0,0],[2,14,0,0],[17,1,18,0]])

names = list("0123")
fig = ff.create_dendrogram(X, orientation='left', labels=names)
fig.update_layout(width=800, height=800)
fig.show()

从字面上从我应该做的情节网站bc idk复制的代码。该网站:https://plotly.com/python/v3/dendrogram/

python plotly cluster-analysis hierarchical-clustering dendrogram
1个回答
0
投票

您可以使用scipy.cluster.hierarchy.linkage()选择链接方法通过scipy.cluster.hierarchy.linkage()函数中的linkagefun参数。

例如,使用create_dendrogram()

UPGMA (Unweighted Pair Group Method with Arithmetic mean) algorithm

请注意,import plotly.figure_factory as ff import scipy.cluster.hierarchy as sch import numpy as np X = np.matrix([[0,0,0,0],[13,0,0,0],[2,14,0,0],[17,1,18,0]]) names = "0123" fig = ff.create_dendrogram(X, orientation='left', labels=names, linkagefun=lambda x: sch.linkage(x, "average"),) fig.update_layout(width=800, height=800) fig.show() 必须是数据样本的矩阵。

© www.soinside.com 2019 - 2024. All rights reserved.