Spark ML -- Naive-Bayes
Naive Bayes Classifiers. It supports Multinomial NB (see here) which can handle finitely supported discrete data. For example, by converting documents into TF-IDF vectors, it can be used for document classification. By making every vector a binary (0/1) data, it can also be used as Bernoulli NB (see here). The input feature values must be nonnegative.
ml_naive_bayes(x, formula = NULL, model_type = "multinomial", smoothing = 1, thresholds = NULL, weight_col = NULL, features_col = "features", label_col = "label", prediction_col = "prediction", probability_col = "probability", raw_prediction_col = "rawPrediction", uid = random_string("naive_bayes_"), ...)
The model type. Supported options:
The (Laplace) smoothing parameter. Defaults to 1.
Thresholds in multi-class classification to adjust the probability of predicting each class. Array must have length equal to the number of classes, with values > 0 excepting that at most one value may be 0. The class with largest value
(Spark 2.1.0+) Weight column name. If this is not set or empty, we treat all instance weights as 1.0.
Features column name, as a length-one character vector. The column should be single vector column of numeric values. Usually this column is output by
Label column name. The column should be a numeric column. Usually this column is output by
Prediction column name.
Column name for predicted class conditional probabilities.
Raw prediction (a.k.a. confidence) column name.
A character string used to uniquely identify the ML estimator.
Optional arguments; see Details.
The object returned depends on the class of
spark_connection, the function returns an instance of a
ml_predictorobject. The object contains a pointer to a Spark
Predictorobject and can be used to compose
ml_pipeline, the function returns a
ml_pipelinewith the predictor appended to the pipeline.
tbl_spark, a predictor is constructed then immediately fit with the input
tbl_spark, returning a prediction model.
formula: specified When
formulais specified, the input
tbl_sparkis first transformed using a
RFormulatransformer before being fit by the predictor. The object returned in this case is a
ml_modelwhich is a wrapper of a
x is a
features) is specified, the function returns a
ml_model object wrapping a
ml_pipeline_model which contains data pre-processing transformers, the ML predictor, and, for classification models, a post-processing transformer that converts predictions into class labels. For classification, an optional argument
predicted_label_col (defaults to
"predicted_label") can be used to specify the name of the predicted label column. In addition to the fitted
ml_model objects also contain a
ml_pipeline object where the ML predictor stage is an estimator ready to be fit against data. This is utilized by
type = "pipeline" to faciliate model refresh workflows.
See http://spark.apache.org/docs/latest/ml-classification-regression.html for more information on the set of supervised learning algorithms.
Other ml algorithms: