- SciPy 教程
- SciPy - 主页
- SciPy - 介绍
- SciPy - 环境设置
- SciPy - 基本功能
- SciPy - 集群
- SciPy - 常量
- SciPy - FFTpack
- SciPy - 集成
- SciPy - 插值
- SciPy - 输入和输出
- SciPy - 线性代数
- SciPy - Ndimage
- SciPy - 优化
- SciPy - 统计
- SciPy - CSGraph
- SciPy - 空间
- SciPy - ODR
- SciPy - 特殊包
- SciPy 有用资源
- SciPy - 参考文献
- SciPy - 快速指南
- SciPy - 有用资源
- SciPy - 讨论
SciPy - average() 方法
SciPy average() 方法用于执行距离矩阵的算术平均任务。在数据分析中,此方法有助于我们从数据点创建层次结构的簇。
此方法将两个簇之间的距离称为所有数据点对之间的平均距离,其中一个点来自第一个簇,另一个点来自第二个簇。
语法
以下是 SciPy average() 方法的语法 -
average(y)
参数
此方法接受一个参数 -
- y: 此参数存储距离数组矩阵。
返回值
此方法返回链路矩阵(结果)。
示例 1
以下是 SciPy average() 方法执行距离矩阵任务。
import numpy as np from scipy.cluster.hierarchy import average, dendrogram import matplotlib.pyplot as plt # Distance matrix y = np.array([0.6, 0.2, 0.3, 0.5, 0.4, 0.8]) # Perform average linkage clustering result = average(y) # Plot the dendrogram plt.figure(figsize=(6, 4)) dendrogram(result) plt.title('Dendrogram - Average Linkage') plt.xlabel('indexes') plt.ylabel('Distance') plt.show()
输出
以上代码会产生以下结果 -
示例 2
下面的示例对随机数据集执行平均连锁聚类任务。
import numpy as np from scipy.spatial.distance import pdist from scipy.cluster.hierarchy import average, dendrogram import matplotlib.pyplot as plt # generate random data data = np.random.rand(4, 2) # calculate the distance matrix y = pdist(data, metric='euclidean') # average linkage clustering result = average(result) # plot the dendrogram plt.figure(figsize=(6, 4)) dendrogram(Z) plt.title('Dendrogram - Average Linkage on Random Data') plt.xlabel('indexes') plt.ylabel('Distance') plt.show()
输出
以上代码会产生以下结果 -
示例 3
为了获得平均聚类连锁,它使用 dendrogram() 来可视化数据并生成预期结果。在此,我们提到度量类型为“cityblock”。
import numpy as np from scipy.spatial.distance import pdist from scipy.cluster.hierarchy import average, dendrogram import matplotlib.pyplot as plt # sample data data = np.array([[1, 5], [2, 4], [3, 6], [4, 8]]) # calculate the distance matrix using a custom metric y = pdist(data, metric='cityblock') # average linkage clustering result = average(y) # Plot the dendrogram plt.figure(figsize=(6, 4)) dendrogram(result) plt.title('Dendrogram - Average Linkage with Cityblock Distance') plt.xlabel('indexes') plt.ylabel('Distance') plt.show()
输出
以上代码会产生以下结果 -
scipy_reference.htm
广告