package classification
- Alphabetic
- Public
- Protected
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
Single-label binary or multiclass classification.
Single-label 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 on: 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_{i-1} 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 i-th 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
Gradient-Boosted Trees (GBTs) (http://en.wikipedia.org/wiki/Gradient_boosting) model for classification.
Gradient-Boosted 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
Gradient-Boosted Trees (GBTs) (http://en.wikipedia.org/wiki/Gradient_boosting) learning algorithm for classification.
Gradient-Boosted 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/SPARK-4240]
- 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 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 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
Single-label binary or multiclass classifier which can output class conditional probabilities.
Single-label 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")