bundles / scipy latest / scipy / cluster / hierarchy / _hierarchy_impl / average
function
scipy.cluster.hierarchy._hierarchy_impl:average
source: build-install/usr/lib/python3.14/site-packages/scipy/cluster/hierarchy/_hierarchy_impl.py:251
Signature
def average(y)Summary
Perform average/UPGMA linkage on a condensed distance matrix.
Parameters
y: ndarrayThe upper triangular of the distance matrix. The result of
pdistis returned in this form.
Returns
Z: ndarrayA linkage matrix containing the hierarchical clustering. See linkage for more information on its structure.
Examples
from scipy.cluster.hierarchy import average, fcluster from scipy.spatial.distance import pdist✓
X = [[0, 0], [0, 1], [1, 0], [0, 4], [0, 3], [1, 4], [4, 0], [3, 0], [4, 1], [4, 4], [3, 4], [4, 3]]✓
y = pdist(X)
✓Z = average(y)
✓Z
✗array([[ 0. , 1. , 1. , 2. ],
[ 3. , 4. , 1. , 2. ],
[ 6. , 7. , 1. , 2. ],
[ 9. , 10. , 1. , 2. ],
[ 2. , 12. , 1.20711, 3. ],
[ 5. , 13. , 1.20711, 3. ],
[ 8. , 14. , 1.20711, 3. ],
[11. , 15. , 1.20711, 3. ],
[16. , 17. , 3.39675, 6. ],
[18. , 19. , 3.39675, 6. ],
[20. , 21. , 4.09207, 12. ]])
The linkage matrix ``Z`` represents a dendrogram - see
`scipy.cluster.hierarchy.linkage` for a detailed explanation of its
contents.
We can use `scipy.cluster.hierarchy.fcluster` to see to which cluster
each initial point would belong given a distance threshold:
fcluster(Z, 0.9, criterion='distance') fcluster(Z, 1.5, criterion='distance') fcluster(Z, 4, criterion='distance') fcluster(Z, 6, criterion='distance')✓
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=int32)Also, `scipy.cluster.hierarchy.dendrogram` can be used to generate a plot of the dendrogram.
See also
- linkage
for advanced creation of hierarchical clusterings.
- scipy.spatial.distance.pdist
pairwise distance metrics
Aliases
scipy.cluster.hierarchy.average