Expand description
Hierarchical clustering functions
This module provides hierarchical clustering algorithms for agglomerative clustering, linkage methods, and dendrogram visualization.
§Examples
use scirs2_core::ndarray::{Array2, ArrayView2};
use scirs2_cluster::hierarchy::{linkage, fcluster, LinkageMethod, Metric};
// Example data
let data = Array2::from_shape_vec((6, 2), vec![
1.0, 2.0,
1.2, 1.8,
0.8, 1.9,
3.7, 4.2,
3.9, 3.9,
4.2, 4.1,
]).unwrap();
// Calculate linkage matrix using Ward's method
let linkage_matrix = linkage(data.view(), LinkageMethod::Ward, Metric::Euclidean).unwrap();
// Form flat clusters by cutting the dendrogram at a height that gives 2 clusters
let num_clusters = 2;
let labels = fcluster(&linkage_matrix, num_clusters, None).unwrap();
// Print the results
println!("Cluster assignments: {:?}", labels);Re-exports§
pub use self::agglomerative::cut_tree_by_distance;pub use self::agglomerative::cut_tree_by_inconsistency;pub use self::cluster_extraction::estimate_optimal_clusters;pub use self::cluster_extraction::extract_clusters_multi_criteria;pub use self::cluster_extraction::prune_clusters;pub use self::condensed_matrix::condensed_size;pub use self::condensed_matrix::condensed_to_square;pub use self::condensed_matrix::get_distance;pub use self::condensed_matrix::points_from_condensed_size;pub use self::condensed_matrix::square_to_condensed;pub use self::condensed_matrix::validate_condensed_matrix;pub use self::dendrogram::cophenet;pub use self::dendrogram::dendrogram;pub use self::dendrogram::inconsistent;pub use self::dendrogram::optimal_leaf_ordering;pub use self::disjoint_set::DisjointSet;pub use self::leaf_ordering::apply_leaf_ordering;pub use self::leaf_ordering::optimal_leaf_ordering_exact;pub use self::leaf_ordering::optimal_leaf_ordering_heuristic;pub use self::optimized_ward::lance_williams_ward_update;pub use self::optimized_ward::memory_efficient_ward_linkage;pub use self::optimized_ward::optimized_ward_linkage;pub use self::validation::validate_cluster_consistency;pub use self::validation::validate_cluster_extraction_params;pub use self::validation::validate_distance_matrix;pub use self::validation::validate_linkage_matrix;pub use self::validation::validate_monotonic_distances;pub use self::validation::validate_square_distance_matrix;pub use self::visualization::create_dendrogramplot;pub use self::visualization::get_color_palette;pub use self::visualization::Branch;pub use self::visualization::ColorScheme;pub use self::visualization::ColorThreshold;pub use self::visualization::DendrogramConfig;pub use self::visualization::DendrogramOrientation;pub use self::visualization::DendrogramPlot;pub use self::visualization::Leaf;pub use self::visualization::LegendEntry;pub use self::visualization::TruncateMode;
Modules§
- agglomerative
- Agglomerative clustering methods
- cluster_
extraction - Enhanced cluster extraction utilities
- condensed_
matrix - Condensed distance matrix utilities
- dendrogram
- Dendrogram visualization and analysis tools
- disjoint_
set - Disjoint Set (Union-Find) data structure for connectivity queries
- leaf_
ordering - Optimal leaf ordering algorithms for dendrograms
- linkage
- Linkage methods for hierarchical clustering
- optimized_
ward - Optimized Ward’s linkage implementation for hierarchical clustering
- parallel_
linkage - Parallel implementation of linkage methods for hierarchical clustering
- validation
- Validation utilities for hierarchical clustering
- visualization
- Enhanced visualization utilities for dendrograms
Enums§
- Cluster
Criterion - Criterion for forming flat clusters from a hierarchical clustering
- Linkage
Method - Linkage methods for hierarchical clustering
- Metric
- Distance metrics for hierarchical clustering
Functions§
- condensed_
index_ to_ coords - Converts a condensed distance matrix index to (i, j) coordinates
- coords_
to_ condensed_ index - Converts (i, j) coordinates to a condensed distance matrix index
- fcluster
- Forms flat clusters from a hierarchical clustering result
- fcluster_
generic - Forms flat clusters from a hierarchical clustering result with generic threshold type
- linkage
- Performs hierarchical clustering using the specified linkage method
- parallel_
linkage - Performs parallel hierarchical clustering using the specified linkage method