Module hierarchy

Module hierarchy 

Source
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§

ClusterCriterion
Criterion for forming flat clusters from a hierarchical clustering
LinkageMethod
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