onehotdecode — Decode one-hot vectors into class labels.
onehotdecode(B,classes,featureDim) chooses the maximum value along featureDim and maps the index to classes.
Syntax
A = onehotdecode(B, classes, featureDim)
A = onehotdecode(B, classes, featureDim, typename)
A = onehotdecode(B, classes, featureDim, Name, Value)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
B | Any | Yes | — | One-hot encoded data. |
classes | Any | Yes | — | Class names corresponding to the one-hot feature dimension. |
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 |
|---|---|---|
A | Any | Decoded labels. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:onehotdecode:InvalidArgument | Inputs, dimensions, classes, output types, or options are malformed. | encoding: invalid argument |
RunMat:onehotdecode:Internal | Internal conversion or allocation fails. | encoding: internal error |
How onehotdecode works
- The length of
classesmust match the size ofBalongfeatureDim. Bmust be numeric or logical with non-NaNvalues in the range[0,1];NaNentries are ignored while choosing the maximum class.- Ties are resolved by the first class along
featureDim, matching MATLAB-style first-maximum behavior. - The decoded output keeps the encoded shape with the feature dimension set to 1.
- By default the decoded output is categorical and preserves the supplied class order as the category order.
- An optional typename can request
double,logical,string,cellstr, orcategoricaloutput;OutputTypeis also accepted as a RunMat extension. - Numeric output requires numeric classes, and logical output requires logical classes.
Example
Decode logical one-hot rows
A = onehotdecode(logical([0 1; 1 0]), ["blue" "red"], 2, 'string')Expected output:
A is a 2-by-1 string array.Using onehotdecode with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how onehotdecode changes the result.
Run a small onehotdecode example, explain the result, then change one input and compare the output.
FAQ
What happens when a vector contains all zeros?⌄
The first class is selected because all classes tie at zero.
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 · onehotencode · 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 onehotdecode is executed, line by line, in Rust.
- View the source for onehotdecode 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.