#' Naive Bayes Classifier Model
#'
#' Computes the conditional a-posterior probabilities of a categorical class
#' variable given independent predictor variables using Bayes rule.
#'
#' @param laplace positive numeric controlling Laplace smoothing.
#'
#' @details
#' \describe{
#' \item{Response types:}{\code{factor}}
#' }
#'
#' Further model details can be found in the source link below.
#'
#' @return \code{MLModel} class object.
#'
#' @seealso \code{\link[e1071]{naiveBayes}}, \code{\link{fit}},
#' \code{\link{resample}}
#'
#' @examples
#' \donttest{
#' ## Requires prior installation of suggested package e1071 to run
#'
#' fit(Species ~ ., data = iris, model = NaiveBayesModel)
#' }
#'
NaiveBayesModel <- function(laplace = 0) {
MLModel(
name = "NaiveBayesModel",
label = "Naive Bayes Classifier",
packages = "e1071",
response_types = "factor",
predictor_encoding = "model.frame",
na.rm = FALSE,
params = new_params(environment()),
fit = function(formula, data, weights, ...) {
eval_fit(
data,
formula = e1071::naiveBayes(
formula, data = data, na.action = na.pass, ...
),
matrix = e1071::naiveBayes(x, y, ...)
)
},
predict = function(object, newdata, ...) {
newdata <- as.data.frame(newdata)
predict(object, newdata = newdata, type = "raw")
}
)
}
MLModelFunction(NaiveBayesModel) <- NULL
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.