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:
: the computed meta-kernel matrix;
: 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;
: 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. DOI: doi:10.1093/bioinformatics/btx682 .
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")