Computes persistence entropy. Persistence entropy is a statistic for persistence diagrams inspired from Shannon entropy. This statistic can also be used to compute a feature vector, called the entropy summary function. See https://arxiv.org/pdf/1803.08304.pdf for more details. Note that a previous implementation was contributed by Manuel Soriano-Trigueros.
Super classes
rgudhi::PythonClass -> rgudhi::SKLearnClass -> rgudhi::VectorRepresentationStep -> Entropy
Methods
Method new()
The Entropy constructor.
Arguments
modeA string specifying which entropy to compute: either
"scalar"for computing the entropy statistic, or"vector"for computing the entropy summary function. Defaults to"scalar".normalizedA boolean value specifying whether to normalize the entropy summary function. Defaults to
TRUE. Used only ifmode == "vector".resolutionAn integer value specifying the grid size for the entropy summary function. Defaults to
100L. Used only ifmode == "vector".sample_rangeA length-2 numeric vector specifying the domain for the entropy summary function, of the form \([x_{\min}, x_{\max}]\). Defaults to
rep(NA, 2). It is the interval on which samples will be drawn evenly. If one of the values isNA, it can be computed from the persistence diagrams with the$fit()method. Used only ifmode == "vector".
Method apply()
Applies the Entropy class on a single persistence diagram
and outputs the result.
Arguments
diagA 2-column tibble::tibble specifying a persistence diagram.
Returns
A tibble::tibble storing the entropy representation of the persistence diagram in a table suitable for visualization.
Examples
if (FALSE) { # reticulate::py_module_available("gudhi")
X <- seq_circle(10)
ac <- AlphaComplex$new(points = X)
st <- ac$create_simplex_tree()
dgm <- st$compute_persistence()$persistence_intervals_in_dimension(0)
ds <- DiagramSelector$new(use = TRUE)
dgm <- ds$apply(dgm)
ent <- Entropy$new()
ent$apply(dgm)
ent$fit_transform(list(dgm))
}