onehotencode — Encode class labels as one-hot vectors.
onehotencode(A,featureDim) expands labels in A into one-hot vectors along featureDim.
Syntax
B = onehotencode(A, featureDim)
B = onehotencode(A, featureDim, typename)
B = onehotencode(A, featureDim, Name, Value)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
A | Any | Yes | — | Input labels to encode. |
featureDim | IntegerScalar | Yes | — | Dimension containing or receiving one-hot feature vectors. |
typename | StringScalar | No | — | Requested output type. |
options | Any | Variadic | — | Name-value options such as ClassNames or OutputType. |
Returns
| Name | Type | Description |
|---|---|---|
B | Any | One-hot encoded array. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:onehotencode:InvalidArgument | Inputs, dimensions, classes, output types, or options are malformed. | encoding: invalid argument |
RunMat:onehotencode:Internal | Internal conversion or allocation fails. | encoding: internal error |
How onehotencode works
featureDimmust identify a singleton dimension inA; dimensions beyondndims(A)are padded with singleton dimensions.- Categorical inputs infer classes from the full category order, including categories not observed in the input values.
- Noncategorical inputs require
ClassNames; class names must be unique and match the input label type. OutputTypesupportsdouble,single, andlogical;singleis represented with RunMat's numeric tensor storage.- Missing labels and labels not listed in
ClassNamesencode as all-NaNfeature vectors for numeric output. - Logical output cannot represent missing labels or labels excluded by
ClassNamesand raises an error in those cases.
Example
Encode string labels along columns
B = onehotencode(["red";"blue";"red"], 2, 'ClassNames', ["blue";"red"], 'OutputType', 'logical')Expected output:
B is a 3-by-2 logical array.Using onehotencode with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how onehotencode changes the result.
Run a small onehotencode example, explain the result, then change one input and compare the output.
FAQ
Can I control the class order?⌄
Yes. Supply the ClassNames name-value option for noncategorical inputs, or use the category order of a categorical input.
Related Stats functions
Summary
binocdf · boxplot · cdf · cdfplot · chi2cdf · corr · corrcoef · corrcov · cov · cov2corr · dummyvar · ecdf · filloutliers · fitdist · geomean · grpstats · harmmean · icdf · isoutlier · kstest · kurtosis · lsline · mad · mode · nanmax · normalize · normcdf · norminv · normpdf · onehotdecode · pdf · prctile · quantile · refline · rmse · skewness · tabulate · tcdf · tiedrank · tinv · tpdf · ttest2 · wblinv
Ml
bayesopt · classify · confusionmat · crossvalind · cvpartition · fitclinear · fitctree · fitlm · kmeans · knnsearch · lasso · lassoglm · linkage · lscov · mnrfit · optimizableVariable · pdist · pdist2 · perfcurve · predict · regress · ridge · squareform · test · training · tsne
Random
binornd · bootstrp · datasample · dividerand · exprnd · gamrnd · lhsdesign · mvnrnd · normrnd · random · randsample · rng · trnd · unidrnd · unifrnd · wblrnd
Hist
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how onehotencode is executed, line by line, in Rust.
- View the source for onehotencode in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.