Nothing
## ------------------------------------------------------------------------
library("enpls")
library("ggplot2")
data("logd1k")
x <- logd1k$x
y <- logd1k$y
head(x)[, 1:5]
head(y)
## ---- fig.width = 8, fig.height = 8, out.width = 600, out.height = 600----
set.seed(42)
fit <- enspls.fit(x, y, ratio = 0.7, reptimes = 20, maxcomp = 3)
y.pred <- predict(fit, newx = x)
df <- data.frame(y, y.pred)
ggplot(df, aes_string(x = "y", y = "y.pred")) +
geom_abline(slope = 1, intercept = 0, colour = "darkgrey") +
geom_point(size = 3, shape = 1, alpha = 0.8) +
coord_fixed(ratio = 1) +
xlab("Observed Response") +
ylab("Predicted Response")
## ---- fig.width = 8, fig.height = 8, out.width = 600, out.height = 600----
cv.fit <- cv.enspls(x, y,
nfolds = 5, ratio = 0.7,
reptimes = 10, maxcomp = 3, verbose = FALSE
)
cv.fit
plot(cv.fit)
## ---- fig.width = 8, fig.height = 8, out.width = 600, out.height = 600----
fs <- enspls.fs(x, y, ratio = 0.7, reptimes = 20, maxcomp = 3)
print(fs, nvar = 10)
plot(fs, nvar = 10)
plot(fs, type = "boxplot", nvar = 10)
## ---- fig.width = 8, fig.height = 8, out.width = 600, out.height = 600----
od <- enspls.od(x, y, ratio = 0.8, reptimes = 20, maxcomp = 3)
plot(od, prob = 0.05)
plot(od, criterion = "sd", sdtimes = 2)
## ---- fig.width = 8, fig.height = 8, out.width = 600, out.height = 600----
# remove low variance variables
x <- x[, -c(17, 52, 59)]
# make training set
x.tr <- x[1:500, ]
y.tr <- y[1:500]
# make two test sets
x.te <- list(
"test.1" = x[501:700, ],
"test.2" = x[701:800, ]
)
y.te <- list(
"test.1" = y[501:700],
"test.2" = y[701:800]
)
ad <- enspls.ad(x.tr, y.tr, x.te, y.te,
maxcomp = 3, space = "variable", method = "mc",
ratio = 0.8, reptimes = 50
)
plot(ad)
## ---- eval = FALSE-------------------------------------------------------
# plot(ad, type = "interactive")
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.