predict.mior {mildsvm} | R Documentation |
Predict method for mior
object
Description
Predict method for mior
object
Usage
## S3 method for class 'mior'
predict(
object,
new_data,
type = c("class", "raw"),
layer = c("bag", "instance"),
new_bags = "bag_name",
...
)
Arguments
object |
An object of class |
new_data |
A data frame to predict from. This needs to have all of the features that the data was originally fitted with. |
type |
If |
layer |
If |
new_bags |
A character or character vector. Can specify a singular
character that provides the column name for the bag names in |
... |
Arguments passed to or from other methods. |
Details
When the object was fitted using the formula
method, then the parameters
new_bags
and new_instances
are not necessary, as long as the names match
the original function call.
Value
A tibble with nrow(new_data)
rows. If type = 'class'
, the tibble
will have a column .pred_class
. If type = 'raw'
, the tibble will have
a column .pred
.
Author(s)
Sean Kent
See Also
mior()
for fitting the mior
object.
Examples
if (require(gurobi)) {
set.seed(8)
# make some data
n <- 15
X <- rbind(
mvtnorm::rmvnorm(n/3, mean = c(4, -2, 0)),
mvtnorm::rmvnorm(n/3, mean = c(0, 0, 0)),
mvtnorm::rmvnorm(n/3, mean = c(-2, 1, 0))
)
score <- X %*% c(2, -1, 0)
y <- as.numeric(cut(score, c(-Inf, quantile(score, probs = 1:2 / 3), Inf)))
bags <- 1:length(y)
# add in points outside boundaries
X <- rbind(
X,
mvtnorm::rmvnorm(n, mean = c(6, -3, 0)),
mvtnorm::rmvnorm(n, mean = c(-6, 3, 0))
)
y <- c(y, rep(-1, 2*n))
bags <- rep(bags, 3)
repr <- c(rep(1, n), rep(0, 2*n))
y_bag <- classify_bags(y, bags, condense = FALSE)
mdl1 <- mior(X, y_bag, bags)
# summarize predictions at the bag layer
library(dplyr)
df1 <- bind_cols(y = y_bag, bags = bags, as.data.frame(X))
df1 %>%
bind_cols(predict(mdl1, df1, new_bags = bags, type = "class")) %>%
bind_cols(predict(mdl1, df1, new_bags = bags, type = "raw")) %>%
distinct(y, bags, .pred_class, .pred)
}