# Data setting
set.seed(1)
d = 1
n = 1000
m = 50
X = matrix(runif(n*d, 0, 1), nrow = n, ncol = d)
y = as.vector(sin(2*pi*rowMeans(X)^3) + rnorm(n, 0, 0.1))
K = make_kernel(X, kernel = "gaussian", rho = 1)
# Example: RFF approximation
K_rff = approx_kernel(X = X, opt = "rff", kernel = "gaussian",
m = m, d = d, rho = 1,
n_threads = 1)
# Exapmle: Nystrom approximation
K_nystrom = approx_kernel(K = K, opt = "nystrom",
m = m, d = d, rho = 1,
n_threads = 1)
# Example: Pivoted Cholesky approximation
K_pivoted = approx_kernel(K = K, opt = "pivoted",
m = m, d = d, rho = 1)
Run the code above in your browser using DataLab