makeKernel: Compute kernel matrix

View source: R/VCR_auxiliaryFunctions.R

makeKernelR Documentation

Compute kernel matrix

Description

Computes kernel value or kernel matrix, where the kernel type is extracted from an svm trained by e1071::svm.

Usage

makeKernel(X1, X2 = NULL, svfit)

Arguments

X1

first matrix (or vector) of coordinates.

X2

if not NULL, second data matrix or vector. If NULL, X2 is assumed equal to X1.

svfit

output from e1071::svm

.

Value

the kernel matrix, of dimensions nrow(X1) by nrow(X2). When both X1 and X2 are vectors, the result is a single number.

Author(s)

Raymaekers J., Rousseeuw P.J.

References

Raymaekers J., Rousseeuw P.J., Hubert M. (2021). Class maps for visualizing classification results. Technometrics, appeared online. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1080/00401706.2021.1927849")}(link to open access pdf)

See Also

makeFV

Examples


library(e1071)
set.seed(1); X <- matrix(rnorm(200 * 2), ncol = 2)
X[1:100, ] <- X[1:100, ] + 2
X[101:150, ] <- X[101:150, ] - 2
y <- as.factor(c(rep("blue", 150), rep("red", 50))) # two classes
# We now fit an SVM with radial basis kernel to the data:
set.seed(1) # to make the result of svm() reproducible.
svmfit <- svm(y~.,  data = data.frame(X = X, y = y),  scale = FALSE,
             kernel = "radial", cost = 10, gamma = 1, probability = TRUE)
Kxx <- makeKernel(X, svfit = svmfit)
# The result is a square kernel matrix:
dim(Kxx) # 200 200
Kxx[1:5, 1:5]

# For more examples, we refer to the vignette:
## Not run: 
vignette("Support_vector_machine_examples")

## End(Not run)

classmap documentation built on April 23, 2023, 5:09 p.m.