---
name: "svm-predict"
section: "1"
platform: "linux"
package: "libsvm-tools"
version: "3.24+ds-6.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/svm-predict"
---

# svm-predict(1)

make predictions based on a trained SVM model file and test data

## NAME

svm-predict - make predictions based on a trained SVM model file and test data

## SYNOPSIS

**svm-predict \[ -b** *probability\_estimates \] \[ -q \]* *test\_data* *model\_file* *\[ output\_file \]*

## DESCRIPTION

**svm-predict** uses a Support Vector Machine specified by a given input *model\_file* to make predictions for each of the samples in *test\_data*\
   The format of this file is identical to the training\_data file used in **svm\_train(1)** and is just a sparse vector as follows:

- \<label\> \<index1\>:\<value1\> \<index2\>:\<value2\> . . .

  - .

  - .

  - .

  - There is one sample per line. Each sample consists of a target value (label or regression target) followed by a sparse representation of the input vector. All unmentioned coordinates are assumed to be 0. For classification, \<label\> is an integer indicating the class label (multi-class is supported). For regression, \<label\> is the target value which can be any real number. For one-class SVM, it's not used so can be any number. Except using precomputed kernels (explained in another section), \<index\>:\<value\> gives a feature (attribute) value. \<index\> is an integer starting from 1 and \<value\> is a real number. Indices must be in an ASCENDING order. If you have label data available for testing then you can enter these values in the test\_data file. If they are not available you can just enter 0 and will not know real accuracy for the SVM directly, however you can still get the results of its prediction for the data point.

  If *output\_file* is given, it will be used to specify the filename to store the predicted results, one per line, in the same order as the *test\_data* file.

## OPTIONS

- \-b probability-estimates

  *probability\_estimates* is a binary value indicating whether to calculate probability estimates when training the SVC or SVR model.  Values are 0 or 1 and defaults to 0 for speed.

- \-q

  quiet mode; suppress messages to stdout.

## FILES

*training\_set\_file* must be prepared in the following simple sparse training vector format:

- \<label\> \<index1\>:\<value1\> \<index2\>:\<value2\> . . .

  - .

  - .

  - .

  - There is one sample per line. Each sample consist of a target value (label or regression target) followed by a sparse representation of the input vector. All unmentioned coordinates are assumed to be 0. For classification, \<label\> is an integer indicating the class label (multi-class is supported). For regression, \<label\> is the target value which can be any real number. For one-class SVM, it's not used so can be any number. Except using precomputed kernels (explained in another section), \<index\>:\<value\> gives a feature (attribute) value. \<index\> is an integer starting from 1 and \<value\> is a real number. Indices must be in an ASCENDING order.

  ## ENVIRONMENT

No environment variables.

## DIAGNOSTICS

None documented; see Vapnik et al.

## BUGS

Please report bugs to the Debian BTS.

## AUTHOR

Chih-Chung Chang, Chih-Jen Lin \<cjlin@csie.ntu.edu.tw\>, Chen-Tse Tsai \<ctse.tsai@gmail.com\> (packaging)

## SEE ALSO

[**svm-train**(1)](/svm-train/1.md), [**svm-scale**(1)](/svm-scale/1.md)
