Kernel Representation: Persistence Scale-Space Kernel
Source:R/representation-kernel-methods.R
PersistenceScaleSpaceKernel.RdComputes the persistence scale space kernel matrix from a list of persistence diagrams. The persistence scale space kernel is computed by adding the symmetric to the diagonal of each point in each persistence diagram, with negative weight, and then convolving the points with a Gaussian kernel. See https://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Reininghaus_A_Stable_Multi-Scale_2015_CVPR_paper.pdf for more details.
Super classes
rgudhi::PythonClass -> rgudhi::SKLearnClass -> rgudhi::KernelRepresentationStep -> PersistenceScaleSpaceKernel
Methods
Inherited methods
rgudhi::PythonClass$get_python_class()rgudhi::PythonClass$set_python_class()rgudhi::SKLearnClass$get_params()rgudhi::SKLearnClass$set_params()rgudhi::KernelRepresentationStep$apply()rgudhi::KernelRepresentationStep$fit()rgudhi::KernelRepresentationStep$fit_transform()rgudhi::KernelRepresentationStep$transform()
Method new()
The PersistenceScaleSpaceKernel constructor.
Usage
PersistenceScaleSpaceKernel$new(
bandwidth = 1,
kernel_approx = NULL,
n_jobs = 1
)Arguments
bandwidthA numeric value specifying the bandwidth of the Gaussian kernel with which persistence diagrams will be convolved. Defaults to
1.0.kernel_approxA 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 asRBFSamplerfor instance).n_jobsAn integer value specifying the number of jobs to use for the computation. Defaults to
1.
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)
pssk <- PersistenceScaleSpaceKernel$new()
pssk$apply(dgm, dgm)
pssk$fit_transform(list(dgm))
}