Description Usage Arguments Details Value Examples
Uses a trained ECC and Gibbs sampling to predict labels for new
samples. .f
must return a matrix of probabilities, one row for each
observation in newdata
.
1 2 3 |
object |
An object of type |
newdata |
A data frame or matrix of features. Must be the same form as
the one used with |
n.iters |
Number of iterations of the Gibbs sampler. |
burn.in |
Number of iterations for adaptation (burn-in). |
thin |
Thinning interval. |
run_parallel |
Logical flag for utilizing multicore capabilities of the system. |
silent |
Logical flag indicating whether to have a progress bar (if the 'progress' package is installed) or print progress messages to console. |
.f |
User-supplied prediction function that corresponds to the type of
classifier that was trained in the |
... |
additional arguments to pass to |
Getting the prediction function correct is very important here.
Since this package is a wrapper that can use any classification algorithm
as its base classifier, certain assumptions have been made. We assume that
the prediction function can return a data.frame or matrix of probabilities
with two columns: "0" and "1" because ecc()
trains on a
factor of "0"s and "1"s for more universal consistency.
An object of class PUGS
containing:
y_labels
: inherited from object
preds
: A burnt-in, thinned multi-dimensional array of predictions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | x <- movies_train[, -(1:3)]
y <- movies_train[, 1:3]
model_glm <- ecc(x, y, m = 1, .f = glm.fit, family = binomial(link = "logit"))
predictions_glm <- predict(model_glm, movies_test[, -(1:3)],
.f = function(glm_fit, newdata) {
# Credit for writing the prediction function that works
# with objects created through glm.fit goes to Thomas Lumley
eta <- as.matrix(newdata) %*% glm_fit$coef
output <- glm_fit$family$linkinv(eta)
colnames(output) <- "1"
return(output)
}, n.iters = 10, burn.in = 0, thin = 1)
## Not run:
model_c50 <- ecc(x, y, .f = C50::C5.0)
predictions_c50 <- predict(model_c50, movies_test[, -(1:3)],
n.iters = 10, burn.in = 0, thin = 1,
.f = C50::predict.C5.0, type = "prob")
model_rf <- ecc(x, y, .f = randomForest::randomForest)
predictions_rf <- predict(model_rf, movies_test[, -(1:3)],
n.iters = 1000, burn.in = 100, thin = 10,
.f = function(rF, newdata) {
randomForest:::predict.randomForest(rF, newdata, type = "prob")
})
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.