
- SciPy 教程
- SciPy - 主页
- SciPy - 简介
- SciPy - 环境设置
- SciPy - 基本功能
- SciPy - 簇
- SciPy - 常量
- SciPy - FFTpack
- SciPy - Integrate
- SciPy - Interpolate
- SciPy - 输入和输出
- SciPy - Linalg
- SciPy - Ndimage
- SciPy - Optimize
- SciPy - Stats
- SciPy - CSGraph
- SciPy - Spatial
- SciPy - ODR
- SciPy - 特殊包
- SciPy 有用资源
- SciPy - 参考
- SciPy - 快速指南
- SciPy - 有用资源
- SciPy - 讨论
SciPy - ward() 方法
SciPy ward() 方法是聚类算法的一部分,它能最小化其控制范围内簇的总方差。当你需要了解数据的结构和检测自然分组时,它会特别有用。此分组可使用将数据可视化的树状图来执行。
此方法会根据类似的簇点来减少数据维度。
语法
以下是 SciPy ward() 方法的语法:
ward(distance_matrix)
参数
此方法只接受一个参数:
- distance_matrix:此参数处理一个内置方法 pdist(),该方法会基于给定的数据数组计算操作。
返回值
此方法返回链路矩阵 (res),显示了层次聚类。
示例 1
以下是 SciPy ward() 方法,它对小型数据集执行层次聚类任务并使用树状图显示可视化效果。
import numpy as np from scipy.cluster.hierarchy import ward, dendrogram import matplotlib.pyplot as plt from scipy.spatial.distance import pdist # Sample data data = np.array([[10, 20], [30, 40], [50, 60], [70, 80]]) # the distance matrix distance_matrix = pdist(data) # hierarchical clustering using ward() method res = ward(distance_matrix) # Plot the dendrogram plt.figure() dendrogram(res) plt.show()
输出
以上代码产生以下结果:

示例 2
在此示例中,我们使用鸢尾花数据集来操作使用 ward() 和 dendrogram() 的层次聚类任务。
import numpy as np from scipy.cluster.hierarchy import ward, dendrogram import matplotlib.pyplot as plt from scipy.spatial.distance import pdist from sklearn.datasets import load_iris # Load Iris dataset iris = load_iris() data = iris.data # the distance matrix distance_matrix = pdist(data) # calculate the hierarchical clustering using ward() method res = ward(distance_matrix) # plot the dendrogram plt.figure(figsize=(6, 4)) dendrogram(res) plt.show()
输出
以上代码产生以下结果:

scipy_reference.htm
广告