package classification
 Alphabetic
 Public
 All
Type Members

sealed
trait
BinaryLogisticRegressionSummary extends LogisticRegressionSummary with BinaryClassificationSummary
Abstraction for binary logistic regression results for a given model.

sealed
trait
BinaryLogisticRegressionTrainingSummary extends BinaryLogisticRegressionSummary with LogisticRegressionTrainingSummary
Abstraction for binary logistic regression training results.

sealed
trait
BinaryRandomForestClassificationSummary extends BinaryClassificationSummary
Abstraction for BinaryRandomForestClassification results for a given model.

sealed
trait
BinaryRandomForestClassificationTrainingSummary extends BinaryRandomForestClassificationSummary with RandomForestClassificationTrainingSummary
Abstraction for BinaryRandomForestClassification training results.

abstract
class
ClassificationModel[FeaturesType, M <: ClassificationModel[FeaturesType, M]] extends PredictionModel[FeaturesType, M] with ClassifierParams
Model produced by a Classifier.
Model produced by a Classifier. Classes are indexed {0, 1, ..., numClasses  1}.
 FeaturesType
Type of input features. E.g.,
Vector
 M
Concrete Model type

abstract
class
Classifier[FeaturesType, E <: Classifier[FeaturesType, E, M], M <: ClassificationModel[FeaturesType, M]] extends Predictor[FeaturesType, E, M] with ClassifierParams
Singlelabel binary or multiclass classification.
Singlelabel binary or multiclass classification. Classes are indexed {0, 1, ..., numClasses  1}.
 FeaturesType
Type of input features. E.g.,
Vector
 E
Concrete Estimator type
 M
Concrete Model type

class
DecisionTreeClassificationModel extends ProbabilisticClassificationModel[Vector, DecisionTreeClassificationModel] with DecisionTreeModel with DecisionTreeClassifierParams with MLWritable with Serializable
Decision tree model (http://en.wikipedia.org/wiki/Decision_tree_learning) for classification.
Decision tree model (http://en.wikipedia.org/wiki/Decision_tree_learning) for classification. It supports both binary and multiclass labels, as well as both continuous and categorical features.
 Annotations
 @Since( "1.4.0" )

class
DecisionTreeClassifier extends ProbabilisticClassifier[Vector, DecisionTreeClassifier, DecisionTreeClassificationModel] with DecisionTreeClassifierParams with DefaultParamsWritable
Decision tree learning algorithm (http://en.wikipedia.org/wiki/Decision_tree_learning) for classification.
Decision tree learning algorithm (http://en.wikipedia.org/wiki/Decision_tree_learning) for classification. It supports both binary and multiclass labels, as well as both continuous and categorical features.
 Annotations
 @Since( "1.4.0" )

class
FMClassificationModel extends ProbabilisticClassificationModel[Vector, FMClassificationModel] with FMClassifierParams with MLWritable with HasTrainingSummary[FMClassificationTrainingSummary]
Model produced by FMClassifier
Model produced by FMClassifier
 Annotations
 @Since( "3.0.0" )

sealed
trait
FMClassificationSummary extends BinaryClassificationSummary
Abstraction for FMClassifier results for a given model.

sealed
trait
FMClassificationTrainingSummary extends FMClassificationSummary with TrainingSummary
Abstraction for FMClassifier training results.

class
FMClassifier extends ProbabilisticClassifier[Vector, FMClassifier, FMClassificationModel] with FactorizationMachines with FMClassifierParams with DefaultParamsWritable with Logging
Factorization Machines learning algorithm for classification.
Factorization Machines learning algorithm for classification. It supports normal gradient descent and AdamW solver.
The implementation is based upon: S. Rendle. "Factorization machines" 2010.
FM is able to estimate interactions even in problems with huge sparsity (like advertising and recommendation system). FM formula is:
$$ \begin{align} y = \sigma\left( w_0 + \sum\limits^n_{i1} w_i x_i + \sum\limits^n_{i=1} \sum\limits^n_{j=i+1} \langle v_i, v_j \rangle x_i x_j \right) \end{align} $$
First two terms denote global bias and linear term (as same as linear regression), and last term denotes pairwise interactions term. v_i describes the ith variable with k factors.FM classification model uses logistic loss which can be solved by gradient descent method, and regularization terms like L2 are usually added to the loss function to prevent overfitting.
 Annotations
 @Since( "3.0.0" )
 Note
Multiclass labels are not currently supported.

class
GBTClassificationModel extends ProbabilisticClassificationModel[Vector, GBTClassificationModel] with GBTClassifierParams with TreeEnsembleModel[DecisionTreeRegressionModel] with MLWritable with Serializable
GradientBoosted Trees (GBTs) (http://en.wikipedia.org/wiki/Gradient_boosting) model for classification.
GradientBoosted Trees (GBTs) (http://en.wikipedia.org/wiki/Gradient_boosting) model for classification. It supports binary labels, as well as both continuous and categorical features.
 Annotations
 @Since( "1.6.0" )
 Note
Multiclass labels are not currently supported.

class
GBTClassifier extends ProbabilisticClassifier[Vector, GBTClassifier, GBTClassificationModel] with GBTClassifierParams with DefaultParamsWritable with Logging
GradientBoosted Trees (GBTs) (http://en.wikipedia.org/wiki/Gradient_boosting) learning algorithm for classification.
GradientBoosted Trees (GBTs) (http://en.wikipedia.org/wiki/Gradient_boosting) learning algorithm for classification. It supports binary labels, as well as both continuous and categorical features.
The implementation is based upon: J.H. Friedman. "Stochastic Gradient Boosting." 1999.
Notes on Gradient Boosting vs. TreeBoost:
 This implementation is for Stochastic Gradient Boosting, not for TreeBoost.
 Both algorithms learn tree ensembles by minimizing loss functions.
 TreeBoost (Friedman, 1999) additionally modifies the outputs at tree leaf nodes based on the loss function, whereas the original gradient boosting method does not.
 We expect to implement TreeBoost in the future: [https://issues.apache.org/jira/browse/SPARK4240]
 Annotations
 @Since( "1.4.0" )
 Note
Multiclass labels are not currently supported.

class
LinearSVC extends Classifier[Vector, LinearSVC, LinearSVCModel] with LinearSVCParams with DefaultParamsWritable
This binary classifier optimizes the Hinge Loss using the OWLQN optimizer. Only supports L2 regularization currently.
Since 3.1.0, it supports stacking instances into blocks and using GEMV for better performance. The block size will be 1.0 MB, if param maxBlockSizeInMB is set 0.0 by default.
 Annotations
 @Since( "2.2.0" )

class
LinearSVCModel extends ClassificationModel[Vector, LinearSVCModel] with LinearSVCParams with MLWritable with HasTrainingSummary[LinearSVCTrainingSummary]
Linear SVM Model trained by LinearSVC
Linear SVM Model trained by LinearSVC
 Annotations
 @Since( "2.2.0" )

sealed
trait
LinearSVCSummary extends BinaryClassificationSummary
Abstraction for LinearSVC results for a given model.

sealed
trait
LinearSVCTrainingSummary extends LinearSVCSummary with TrainingSummary
Abstraction for LinearSVC training results.

class
LogisticRegression extends ProbabilisticClassifier[Vector, LogisticRegression, LogisticRegressionModel] with LogisticRegressionParams with DefaultParamsWritable with Logging
Logistic regression.
Logistic regression. Supports:
 Multinomial logistic (softmax) regression.
 Binomial logistic regression.
This class supports fitting traditional logistic regression model by LBFGS/OWLQN and bound (box) constrained logistic regression model by LBFGSB.
Since 3.1.0, it supports stacking instances into blocks and using GEMV/GEMM for better performance. The block size will be 1.0 MB, if param maxBlockSizeInMB is set 0.0 by default.
 Annotations
 @Since( "1.2.0" )

class
LogisticRegressionModel extends ProbabilisticClassificationModel[Vector, LogisticRegressionModel] with MLWritable with LogisticRegressionParams with HasTrainingSummary[LogisticRegressionTrainingSummary]
Model produced by LogisticRegression.
Model produced by LogisticRegression.
 Annotations
 @Since( "1.4.0" )

sealed
trait
LogisticRegressionSummary extends ClassificationSummary
Abstraction for logistic regression results for a given model.

sealed
trait
LogisticRegressionTrainingSummary extends LogisticRegressionSummary with TrainingSummary
Abstraction for multiclass logistic regression training results.

class
MultilayerPerceptronClassificationModel extends ProbabilisticClassificationModel[Vector, MultilayerPerceptronClassificationModel] with MultilayerPerceptronParams with Serializable with MLWritable with HasTrainingSummary[MultilayerPerceptronClassificationTrainingSummary]
Classification model based on the Multilayer Perceptron.
Classification model based on the Multilayer Perceptron. Each layer has sigmoid activation function, output layer has softmax.
 Annotations
 @Since( "1.5.0" )

sealed
trait
MultilayerPerceptronClassificationSummary extends ClassificationSummary
Abstraction for MultilayerPerceptronClassification results for a given model.

sealed
trait
MultilayerPerceptronClassificationTrainingSummary extends MultilayerPerceptronClassificationSummary with TrainingSummary
Abstraction for MultilayerPerceptronClassification training results.

class
MultilayerPerceptronClassifier extends ProbabilisticClassifier[Vector, MultilayerPerceptronClassifier, MultilayerPerceptronClassificationModel] with MultilayerPerceptronParams with DefaultParamsWritable
Classifier trainer based on the Multilayer Perceptron.
Classifier trainer based on the Multilayer Perceptron. Each layer has sigmoid activation function, output layer has softmax. Number of inputs has to be equal to the size of feature vectors. Number of outputs has to be equal to the total number of labels.
 Annotations
 @Since( "1.5.0" )

class
NaiveBayes extends ProbabilisticClassifier[Vector, NaiveBayes, NaiveBayesModel] with NaiveBayesParams with DefaultParamsWritable
Naive Bayes Classifiers.
Naive Bayes Classifiers. It supports Multinomial NB (see here) which can handle finitely supported discrete data. For example, by converting documents into TFIDF 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 for Multinomial NB and Bernoulli NB must be nonnegative. Since 3.0.0, it supports Complement NB which is an adaptation of the Multinomial NB. Specifically, Complement NB uses statistics from the complement of each class to compute the model's coefficients The inventors of Complement NB show empirically that the parameter estimates for CNB are more stable than those for Multinomial NB. Like Multinomial NB, the input feature values for Complement NB must be nonnegative. Since 3.0.0, it also supports Gaussian NB (see here) which can handle continuous data.
 Annotations
 @Since( "1.5.0" )

class
NaiveBayesModel extends ProbabilisticClassificationModel[Vector, NaiveBayesModel] with NaiveBayesParams with MLWritable
Model produced by NaiveBayes
Model produced by NaiveBayes
 Annotations
 @Since( "1.5.0" )

final
class
OneVsRest extends Estimator[OneVsRestModel] with OneVsRestParams with HasParallelism with MLWritable
Reduction of Multiclass Classification to Binary Classification.
Reduction of Multiclass Classification to Binary Classification. Performs reduction using one against all strategy. For a multiclass classification with k classes, train k models (one per class). Each example is scored against all k models and the model with highest score is picked to label the example.
 Annotations
 @Since( "1.4.0" )

final
class
OneVsRestModel extends Model[OneVsRestModel] with OneVsRestParams with MLWritable
Model produced by OneVsRest.
Model produced by OneVsRest. This stores the models resulting from training k binary classifiers: one for each class. Each example is scored against all k models, and the model with the highest score is picked to label the example.
 Annotations
 @Since( "1.4.0" )

abstract
class
ProbabilisticClassificationModel[FeaturesType, M <: ProbabilisticClassificationModel[FeaturesType, M]] extends ClassificationModel[FeaturesType, M] with ProbabilisticClassifierParams
Model produced by a ProbabilisticClassifier.
Model produced by a ProbabilisticClassifier. Classes are indexed {0, 1, ..., numClasses  1}.
 FeaturesType
Type of input features. E.g.,
Vector
 M
Concrete Model type

abstract
class
ProbabilisticClassifier[FeaturesType, E <: ProbabilisticClassifier[FeaturesType, E, M], M <: ProbabilisticClassificationModel[FeaturesType, M]] extends Classifier[FeaturesType, E, M] with ProbabilisticClassifierParams
Singlelabel binary or multiclass classifier which can output class conditional probabilities.
Singlelabel binary or multiclass classifier which can output class conditional probabilities.
 FeaturesType
Type of input features. E.g.,
Vector
 E
Concrete Estimator type
 M
Concrete Model type

class
RandomForestClassificationModel extends ProbabilisticClassificationModel[Vector, RandomForestClassificationModel] with RandomForestClassifierParams with TreeEnsembleModel[DecisionTreeClassificationModel] with MLWritable with Serializable with HasTrainingSummary[RandomForestClassificationTrainingSummary]
Random Forest model for classification.
Random Forest model for classification. It supports both binary and multiclass labels, as well as both continuous and categorical features.
 Annotations
 @Since( "1.4.0" )

sealed
trait
RandomForestClassificationSummary extends ClassificationSummary
Abstraction for multiclass RandomForestClassification results for a given model.

sealed
trait
RandomForestClassificationTrainingSummary extends RandomForestClassificationSummary with TrainingSummary
Abstraction for multiclass RandomForestClassification training results.

class
RandomForestClassifier extends ProbabilisticClassifier[Vector, RandomForestClassifier, RandomForestClassificationModel] with RandomForestClassifierParams with DefaultParamsWritable
Random Forest learning algorithm for classification.
Random Forest learning algorithm for classification. It supports both binary and multiclass labels, as well as both continuous and categorical features.
 Annotations
 @Since( "1.4.0" )
Value Members

object
DecisionTreeClassificationModel extends MLReadable[DecisionTreeClassificationModel] with Serializable
 Annotations
 @Since( "2.0.0" )

object
DecisionTreeClassifier extends DefaultParamsReadable[DecisionTreeClassifier] with Serializable
 Annotations
 @Since( "1.4.0" )

object
FMClassificationModel extends MLReadable[FMClassificationModel] with Serializable
 Annotations
 @Since( "3.0.0" )

object
FMClassifier extends DefaultParamsReadable[FMClassifier] with Serializable
 Annotations
 @Since( "3.0.0" )

object
GBTClassificationModel extends MLReadable[GBTClassificationModel] with Serializable
 Annotations
 @Since( "2.0.0" )

object
GBTClassifier extends DefaultParamsReadable[GBTClassifier] with Serializable
 Annotations
 @Since( "1.4.0" )

object
LinearSVC extends DefaultParamsReadable[LinearSVC] with Serializable
 Annotations
 @Since( "2.2.0" )

object
LinearSVCModel extends MLReadable[LinearSVCModel] with Serializable
 Annotations
 @Since( "2.2.0" )

object
LogisticRegression extends DefaultParamsReadable[LogisticRegression] with Serializable
 Annotations
 @Since( "1.6.0" )

object
LogisticRegressionModel extends MLReadable[LogisticRegressionModel] with Serializable
 Annotations
 @Since( "1.6.0" )

object
MultilayerPerceptronClassificationModel extends MLReadable[MultilayerPerceptronClassificationModel] with Serializable
 Annotations
 @Since( "2.0.0" )

object
MultilayerPerceptronClassifier extends DefaultParamsReadable[MultilayerPerceptronClassifier] with Serializable
 Annotations
 @Since( "2.0.0" )

object
NaiveBayes extends DefaultParamsReadable[NaiveBayes] with Serializable
 Annotations
 @Since( "1.6.0" )

object
NaiveBayesModel extends MLReadable[NaiveBayesModel] with Serializable
 Annotations
 @Since( "1.6.0" )

object
OneVsRest extends MLReadable[OneVsRest] with Serializable
 Annotations
 @Since( "2.0.0" )

object
OneVsRestModel extends MLReadable[OneVsRestModel] with Serializable
 Annotations
 @Since( "2.0.0" )

object
RandomForestClassificationModel extends MLReadable[RandomForestClassificationModel] with Serializable
 Annotations
 @Since( "2.0.0" )

object
RandomForestClassifier extends DefaultParamsReadable[RandomForestClassifier] with Serializable
 Annotations
 @Since( "1.4.0" )