MLModel | R Documentation |
Create a model or model function for use with the MachineShop package.
MLModel(
name = "MLModel",
label = name,
packages = character(),
response_types = character(),
weights = FALSE,
predictor_encoding = c(NA, "model.frame", "model.matrix"),
na.rm = FALSE,
params = list(),
gridinfo = tibble::tibble(param = character(), get_values = list(), default =
logical()),
fit = function(formula, data, weights, ...) stop("No fit function."),
predict = function(object, newdata, times, ...) stop("No predict function."),
varimp = function(object, ...) NULL,
...
)
MLModelFunction(object, ...)
name |
character name of the object to which the model is assigned. |
label |
optional character descriptor for the model. |
packages |
character vector of package names upon which the model
depends. Each name may be optionally followed by a comment in
parentheses specifying a version requirement. The comment should contain
a comparison operator, whitespace and a valid version number, e.g.
|
response_types |
character vector of response variable types to which
the model can be fit. Supported types are |
weights |
logical value or vector of the same length as
|
predictor_encoding |
character string indicating whether the model is
fit with predictor variables encoded as a |
na.rm |
character string or logical specifying removal of |
params |
list of user-specified model parameters to be passed to the
|
gridinfo |
tibble of information for construction of tuning grids
consisting of a character column |
fit |
model fitting function whose arguments are a |
predict |
model prediction function whose arguments are the
|
varimp |
variable importance function whose arguments are the
|
... |
arguments passed to other methods. |
object |
function that returns an |
If supplied, the grid
function should return a list whose elements are
named after and contain values of parameters to include in a tuning grid to
be constructed automatically by the package.
Arguments data
and newdata
in the fit
and predict
functions may be converted to data frames with as.data.frame()
if needed for their operation. The fit
function should return the
object resulting from the model fit. Values returned by the predict
functions should be formatted according to the response variable types below.
matrix whose columns contain the probabilities for multi-level factors or vector of probabilities for the second level of binary factors.
matrix of predicted responses.
vector or column matrix of predicted responses.
matrix whose columns contain survival probabilities at
times
if supplied or a vector of predicted survival means
otherwise.
The varimp
function should return a vector of importance values named
after the predictor variables or a matrix or data frame whose rows are named
after the predictors.
The predict
and varimp
functions are additionally passed a list
named .MachineShop
containing the input
and model
from fit
. This argument may
be included in the function definitions as needed for their implementations.
Otherwise, it will be captured by the ellipsis.
An MLModel
or MLModelFunction
class object.
models
, fit
, resample
## Logistic regression model
LogisticModel <- MLModel(
name = "LogisticModel",
response_types = "binary",
weights = TRUE,
fit = function(formula, data, weights, ...) {
glm(formula, data = as.data.frame(data), weights = weights,
family = binomial, ...)
},
predict = function(object, newdata, ...) {
predict(object, newdata = as.data.frame(newdata), type = "response")
},
varimp = function(object, ...) {
pchisq(coef(object)^2 / diag(vcov(object)), 1)
}
)
data(Pima.tr, package = "MASS")
res <- resample(type ~ ., data = Pima.tr, model = LogisticModel)
summary(res)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.