KamadaKawai-class {dimRed} | R Documentation

## Graph Embedding via the Kamada Kawai Algorithm

### Description

An S4 Class implementing the Kamada Kawai Algorithm for graph embedding.

### Details

Graph embedding algorithms se the data as a graph. Between the nodes of the graph exist attracting and repelling forces which can be modeled as electrical fields or springs connecting the nodes. The graph is then forced into a lower dimensional representation that tries to represent the forces betweent he nodes accurately by minimizing the total energy of the attracting and repelling forces.

### Slots

`fun`

  A function that does the embedding and returns a dimRedResult object.

`stdpars`

  The standard parameters for the function.

### General usage

Dimensionality reduction methods are S4 Classes that either be used directly, in which case they have to be initialized and a full list with parameters has to be handed to the `@fun()` slot, or the method name be passed to the embed function and parameters can be given to the `...`, in which case missing parameters will be replaced by the ones in the `@stdpars`.

### Parameters

KamadaKawai can take the following parameters:

ndim

  The number of dimensions, defaults to 2. Can only be 2 or 3

knn

  Reduce the graph to keep only the neares neighbors. Defaults to 100.

d

  The distance function to determine the weights of the graph edges. Defaults to euclidean distances.

### Implementation

Wraps around `layout_with_kk`. The parameters maxiter, epsilon and kkconst are set to the default values and cannot be set, this may change in a future release. The DimRed Package adds an extra sparsity parameter by constructing a knn graph which also may improve visualization quality.

### References

Kamada, T., Kawai, S., 1989. An algorithm for drawing general undirected graphs. Information Processing Letters 31, 7-15. https://doi.org/10.1016/0020-0190(89)90102-6

### See Also

Other dimensionality reduction methods: `AutoEncoder-class`, `DRR-class`, `DiffusionMaps-class`, `DrL-class`, `FastICA-class`, `FruchtermanReingold-class`, `HLLE-class`, `Isomap-class`, `LLE-class`, `MDS-class`, `NNMF-class`, `PCA-class`, `PCA_L1-class`, `UMAP-class`, `dimRedMethod-class`, `dimRedMethodList`, `kPCA-class`, `nMDS-class`, `tSNE-class`

### Examples

    dat <- loadDataSet("Swiss Roll", n = 200)
    kamada_kawai <- KamadaKawai()
    kk <- kamada_kawai@fun(dat, kamada_kawai@stdpars)

    plot(kk@data@data)

[Package dimRed version 0.2.2 Index]