Train models to classify data using supervised machine learning
The Classification Learner app trains models to classify data. Using this app, you can explore supervised machine learning using various classifiers. You can explore your data, select features, specify validation schemes, train models, and assess results. You can perform automated training to search for the best classification model type, including decision trees, discriminant analysis, support vector machines, logistic regression, nearest neighbors, naive Bayes, kernel approximation, ensemble, and neural network classification.
You can perform supervised machine learning by supplying a known set of input data (observations or examples) and known responses to the data (e.g., labels or classes). You use the data to train a model that generates predictions for the response to new data. To use the model with new data, or to learn about programmatic classification, you can export the model to the workspace or generate MATLAB® code to recreate the trained model.
To get started, in the Classifier list, try All Quick-To-Train to train a selection of models. See Automated Classifier Training.
Statistics and Machine Learning Toolbox™
Note: When you use Classification Learner in MATLAB Online™, you can train models in parallel using a Cloud Center cluster (requires Parallel Computing Toolbox™). For more information, see Use Parallel Computing Toolbox with Cloud Center Cluster in MATLAB Online (Parallel Computing Toolbox).
Open the Classification Learner App
MATLAB Toolstrip: On the Apps tab, under Machine Learning, click the app icon.
MATLAB command prompt: Enter
- Train Classification Models in Classification Learner App
- Select Data and Validation for Classification Problem
- Automated Classifier Training
- Feature Selection and Feature Transformation Using Classification Learner App
- Choose Classifier Options
- Assess Classifier Performance in Classification Learner
- Export Classification Model to Predict New Data
classificationLearner opens the Classification Learner app or
brings focus to the app if it is already open.
classificationLearner(Tbl,ResponseVarName) opens the
Classification Learner app and populates the New Session from Arguments dialog box
with the data contained in the table
ResponseVarName argument, specified as a character vector or
string scalar, is the name of the response variable in
contains the class labels. The remaining variables in
Tbl are the
classificationLearner(Tbl,Y) opens the Classification Learner
app and populates the New Session from Arguments dialog box with the predictor
variables in the table
Tbl and the class labels in the vector
Y. You can specify the response
Y as a
categorical array, character array, string array, logical vector, numeric vector, or
cell array of character vectors.
classificationLearner(X,Y) opens the Classification Learner
app and populates the New Session from Arguments dialog box with the
n-by-p predictor matrix
X and the n class labels in the vector
Y. Each row of
X corresponds to one
observation, and each column corresponds to one variable. The length of
Y and the number of rows of
X must be
cross-validation options using one or more of the following name-value arguments in
addition to any of the input argument combinations in the previous syntaxes. For
example, you can specify
'KFold',10 to use a 10-fold
'CrossVal', specified as
'off', is the cross-validation flag. If you specify
'on', then the app uses 5-fold cross-validation. If you specify
'off', then the app uses resubstitution validation.
You can override the
'CrossVal'cross-validation setting by using the
'KFold'name-value argument. You can specify only one of these arguments at a time.
'Holdout', specified as a numeric scalar in the range [0.05,0.5], is the fraction of the data used for holdout validation. The app uses the remaining data for training.
'KFold', specified as a positive integer in the range [2,50], is the number of folds to use for cross-validation.
Classification Learner does not support model deployment to MATLAB Production Server™ in MATLAB Online.