(l-onnx-docai-onnx-ml-SVMClassifier)= # ai.onnx.ml - SVMClassifier (l-onnx-opai-onnx-ml-svmclassifier-1)= ## SVMClassifier - 1 (ai.onnx.ml) ### Version - **name**: [SVMClassifier (GitHub)](https://github.com/onnx/onnx/blob/main/docs/Operators-ml.md#ai.onnx.ml.SVMClassifier) - **domain**: `ai.onnx.ml` - **since_version**: `1` - **function**: `False` - **support_level**: `SupportType.COMMON` - **shape inference**: `True` This version of the operator has been available **since version 1 of domain ai.onnx.ml**. ### Summary Support Vector Machine classifier ### Attributes * **classlabels_ints - INTS** : Class labels if using integer labels.
One and only one of the 'classlabels_*' attributes must be defined. * **classlabels_strings - STRINGS** : Class labels if using string labels.
One and only one of the 'classlabels_*' attributes must be defined. * **coefficients - FLOATS** : * **kernel_params - FLOATS** : List of 3 elements containing gamma, coef0, and degree, in that order. Zero if unused for the kernel. * **kernel_type - STRING** (default is `'LINEAR'`): The kernel type, one of 'LINEAR,' 'POLY,' 'RBF,' 'SIGMOID'. * **post_transform - STRING** (default is `'NONE'`): Indicates the transform to apply to the score.
One of 'NONE,' 'SOFTMAX,' 'LOGISTIC,' 'SOFTMAX_ZERO,' or 'PROBIT' * **prob_a - FLOATS** : First set of probability coefficients. * **prob_b - FLOATS** : Second set of probability coefficients. This array must be same size as prob_a.
If these are provided then output Z are probability estimates, otherwise they are raw scores. * **rho - FLOATS** : * **support_vectors - FLOATS** : * **vectors_per_class - INTS** : ### Inputs - **X** (heterogeneous) - **T1**: Data to be classified. ### Outputs - **Y** (heterogeneous) - **T2**: Classification outputs (one class per example). - **Z** (heterogeneous) - **tensor(float)**: Class scores (one per class per example), if prob_a and prob_b are provided they are probabilities for each class, otherwise they are raw scores. ### Type Constraints * **T1** in ( `tensor(double)`, `tensor(float)`, `tensor(int32)`, `tensor(int64)` ): The input must be a tensor of a numeric type, either [C] or [N,C]. * **T2** in ( `tensor(int64)`, `tensor(string)` ): The output type will be a tensor of strings or integers, depending on which of the classlabels_* attributes is used. Its size will match the bactch size of the input.