- 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
廣告