Skip to contents

Computes the persistence Fisher kernel matrix from a list of persistence diagrams. The persistence Fisher kernel is computed by exponentiating the corresponding persistence Fisher distance with a Gaussian kernel. See papers.nips.cc/paper/8205-persistence-fisher-kernel-a-riemannian-manifold-kernel-for-persistence-diagrams for more details.

Author

Mathieu Carrière

Super classes

rgudhi::PythonClass -> rgudhi::SKLearnClass -> rgudhi::KernelRepresentationStep -> PersistenceFisherKernel

Methods

Inherited methods


Method new()

The PersistenceFisherKernel constructor.

Usage

PersistenceFisherKernel$new(
  bandwidth_fisher = 1,
  bandwidth = 1,
  kernel_approx = NULL,
  n_jobs = 1
)

Arguments

bandwidth_fisher

A numeric value specifying the bandwidth of the Gaussian kernel used to turn persistence diagrams into probability distributions by the PersistenceFisherDistance class. Defaults to 1.0.

bandwidth

A numeric value specifying the bandwidth of the Gaussian kernel applied to the persistence Fisher distance. Defaults to 1.0.

kernel_approx

A Python class specifying the kernel approximation class used to speed up computation. Defaults to NULL. Common kernel approximations classes can be found in the scikit-learn library (such as RBFSampler for instance).

n_jobs

An integer value specifying the number of jobs to use for the computation. Defaults to 1.

Returns

An object of class PersistenceFisherKernel.


Method clone()

The objects of this class are cloneable with this method.

Usage

PersistenceFisherKernel$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

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)
pfk <- PersistenceFisherKernel$new()
pfk$apply(dgm, dgm)
pfk$fit_transform(list(dgm))
}