SciPy - dendrogram() 方法

SciPy dendrogram() 方法引用自模块"scipy.cluster.hierarchy",该方法通过在特定高度切割簇来确定其功能。

此方法帮助我们可视化聚类图并显示排列。

语法

以下是 SciPy dendrogram() 方法的语法 −

dendrogram(res)

参数

以下是 − 的解释

  • res:此参数存储 linkage() 方法,该方法接受两个参数,即 "data""method = 'type'",以生成层次聚类形式的图形。

返回值

该方法呈现树状图,这意味着它将结果作为图形视图返回。

示例 1

以下是 SciPy 示例,展示了 dendrogram() 方法的用法。

import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt

# 给定数据
data = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]])

# 使用 ward 进行层次聚类
res = linkage(data, method='ward')

# 创建树状图
dendrogram(res)

# 显示图
plt.show()

输出

上述代码产生以下输出 −

dendrogram_example_one

示例 2

在这里,我们执行截断树状图的任务,它显示了最后 4 次合并。

import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt

# 输入数据
data = np.random.rand(15, 4)

# 层次聚类
res = linkage(data, method='average')

# 创建截断树状图
dendrogram(res, truncate_mode='lastp', p=4)

# 显示图表
plt.show()

输出

上述代码产生以下输出 −

dendrogram_example_two

示例 3

下面的示例显示了具有颜色阈值的树状图。在这里,您将图形颜色设为橙色。

请注意,颜色阈值定义了图形的更好可见性。

import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt

# 输入数据
data = np.random.rand(15, 3)

# 层次聚类
res = linkage(data, method='single')

# 使用颜色阈值创建树状图
dendrogram(res, color_threshold=0.5)

# 显示图
plt.show()

输出

上述代码产生以下输出 −

dendrogram_example_three

scipy_reference.html