Nothing
test_that("general data conversions", {
data(iris)
irisData <- loadDataSet("Iris")
expect_equal(class(irisData)[1], "dimRedData")
irisPars <- list()
irisPars[[length(irisPars) + 1]] <-
list(kernel = "rbfdot",
kpar = list(sigma = 0.1))
irisPars[[length(irisPars) + 1]] <-
list(kernel = "rbfdot",
kpar = list(sigma = 1))
irisPars[[length(irisPars) + 1]] <-
list(kernel = "polydot",
kpar = list(degree = 3))
irisPars[[length(irisPars) + 1]] <-
list(kernel = "vanilladot",
kpar = list())
irisPars[[length(irisPars) + 1]] <-
list(kernel = "laplacedot",
kpar = list(sigma = 1))
irisPars[[length(irisPars) + 1]] <-
list(kernel = "laplacedot",
kpar = list(sigma = 0.1))
irisPars[[length(irisPars) + 1]] <-
list(kernel = "besseldot",
kpar = list(sigma = 0.1,
order = 1,
degree = 1))
irisPars[[length(irisPars) + 1]] <-
list(kernel = "besseldot",
kpar = list(sigma = 1,
order = 2,
degree = 3))
irisPars[[length(irisPars) + 1]] <-
list(kernel = "splinedot",
kpar = list())
irisRes <- lapply(irisPars, function(x)
do.call(
function(...) tryCatch(embed(.data = irisData,
.method = "kPCA", ...),
error = function(e) as.character(e)),
x
) )
for (i in 1:length(irisRes)) {
if (inherits(irisRes[[i]], "character")){
expect(grepl("singular", irisRes[[i]]),
"singular")
} else {
expect(inherits(irisRes[[i]], "dimRedResult"),
'should be of class "dimRedResult"')
}
}
## This test fails with multithreaded blas
## for (i in 1:length(irisRes)){
## if (inherits(irisRes[[i]], "dimRedResult")){
## expect_equal(irisRes[[i]]@apply(irisData)@data[, 1:2],
## irisRes[[i]]@data@data)
## expect_equal(2, getNDim(irisRes[[i]]))
## ## the reverse is an approximate:
## expect_less_than(
## max(
## irisRes[[i]]@inverse(irisRes[[i]]@data)@data - irisData@data
## ), 300,
## ## paste0("inverse of kpca is an approximate, ",
## ## "so this may fail due to numerical inaccuracy")
## )
## }
## }
## This one cannot calculate an inverse:
kpca.fit <- embed(loadDataSet("3D S", n = 200),
"kPCA", kernel = "splinedot", kpar = list())
expect( is.na(kpca.fit@inverse(1)), "The inverse should return NA" )
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.