combine.kernels.Rd
Compute multiple kernels into a single meta-kernel
combine.kernels(..., scale = TRUE,
method = c("full-UMKL", "STATIS-UMKL", "sparse-UMKL"), knn = 5,
rho = 20)
list of kernels (called 'blocks') computed on different datasets and measured on the same samples.
boleean. If scale = TRUE
, each block is standardized to zero
mean and unit variance and cosine normalization is performed on the kernel.
Default: TRUE
.
character. Which method should be used to compute the meta-kernel.
Default: "full-UMKL"
.
integer. If method = "sparse-UMKL"
or
method = "full-UMKL"
, number of neighbors used to get a proxy of the
local topology of the datasets from each kernel. Default: 5
.
integer. Parameters for the augmented Lagrangian method. Default:
20
.
combine.kernels
returns an object of classes "kernel"
and
"metaKernel"
, a list that contains the following components:
kernel: the computed meta-kernel matrix;
X: the dataset from which the kernel has been computed, as given by
the function compute.kernel
. Can be NULL
if a kernel
matrix was passed to this function;
weights: a vector containing the weights used to combine the kernels.
The arguments method
allows to specify the Unsupervised Multiple
Kernel Learning (UMKL) method to use:
"STATIS-UMKL"
: combines input kernels into the best consensus
of all kernels;
"full-UMKL"
: computes a kernel that minimizes the distortion
between the meta-kernel and the k-NN graphs obtained from all input kernels;
"sparse-UMKL"
: a sparse variant of the "full-UMKL"
approach.
Mariette J. and Villa-Vialaneix N. (2018). Unsupervised multiple kernel learning for heterogeneous data integration . Bioinformatics, 34(6), 1009-1015.
data(TARAoceans)
# compute one kernel per dataset
phychem.kernel <- compute.kernel(TARAoceans$phychem, kernel.func = "linear")
pro.phylo.kernel <- compute.kernel(TARAoceans$pro.phylo, kernel.func = "abundance")
pro.NOGs.kernel <- compute.kernel(TARAoceans$pro.NOGs, kernel.func = "abundance")
# compute the meta kernel
meta.kernel <- combine.kernels(phychem = phychem.kernel,
pro.phylo = pro.phylo.kernel,
pro.NOGs = pro.NOGs.kernel,
method = "full-UMKL")