onehotencode
Syntax
Description
    encodes data labels in categorical array B = onehotencode(A,featureDim)A into a one-hot encoded array
        B. The function replaces each element of A with a
    numeric vector of length equal to the number of unique classes in A along
    the dimension specified by featureDim. The vector contains a
        1 in the position corresponding to the class of the label in
        A, and a 0 in every other position. Any
        <undefined> values are encoded to NaN values. 
    encodes categorical data labels in table tblB = onehotencode(tblA)tblA into a table of one-hot
    encoded numeric values. The function replaces the single variable of tblA
    with as many variables as the number of unique classes in tblA. Each row in
        tblB contains a 1 in the variable corresponding to
    the class of the label in tlbA, and a 0 in all other
    variables. 
___ = onehotencode(___, encodes the labels into numeric values of data type typename)typename. Use this syntax with any of the input and output arguments in previous syntaxes. 
___ = onehotencode(___,'ClassNames',
    also specifies the names of the classes to use for encoding. Use this syntax when
        classes)A or tblA does not contain categorical values,
    when you want to exclude any class labels from being encoded, or when you want to encode the
    vector elements in a specific order. Any label in A or
        tblA of a class that does not exist in classes is
    encoded to a vector of NaN values. 
Examples
Input Arguments
Output Arguments
Alternative Functionality
To encode data labels, you can also use dummyvar, which creates dummy variables from grouping variables. The following
      table compares the onehotencode and dummyvar
      functions for different use cases.
| Use Case | When to Use onehotencode | When to Use dummyvar | 
|---|---|---|
| Encoding multiple variables | Use onehotencode in a loop. For an example, see One-Hot Encode Table with Several Variables.  | Specify the input argument group as a cell array or positive
              integer matrix. For examples, see Create Dummy Variables from Multiple Grouping Variables and Create Dummy Variables from Numeric Grouping Variables. | 
| Encoding a variable in cell array format | Convert the cell array variable to a categorical array. | Specify the input argument group as a cell array containing
              one or more grouping variables. | 
| Encoding noncategorical data labels | Specify the data labels as a categorical array or specify the classes to encode
              using the ClassNames name-value argument. For an example, see
                One-Hot Encode Subset of Classes. | You do not need to convert the data labels, because dummyvar
              accepts noncategorical grouping variables as input. | 
| Encoding an array of data labels | Specify the dimension to expand (featureDim). | The software automatically determines the dimension to expand.
                dummyvar returns dummy variables as a numeric array with
              columns created from the columns of the input grouping variables. | 
In many cases, you do not need to use the onehotencode or
        dummyvar function for encoding. Most Statistics and Machine Learning Toolbox™ functions can operate directly on categorical response data. Most classification
      and regression functions also accept categorical predictors.
Version History
Introduced in R2021b