ENVICreateSVMClassifierTask
This task creates a Support Vector Machine (SVM) classifier. See Support Vector Machine Background for details on this algorithm.
This classifier should be used with the ENVICreateIterativeTrainerTask trainer. Set the MAXIMUM_ITERATIONS property to 1 in that task. In general, ENVI classifiers are updated by a trainer over a number of iterations. ENVICreateSVMClassifierTask, however, calls a previously existing algorithm that performs its own iterative loop. Setting the MAXIMUM_ITERATIONS keyword to 1 prevents the trainer from performing a redundant second iteration.
The following diagram shows a typical workflow where this task is used:
Note: SVM classification can take several hours to complete with training data that uses large regions of interest (ROIs).
Example
See Code Example: Support Vector Machine Classification using ENVITasks.
Syntax
Result = ENVITask('CreateSVMClassifier')
Input properties (Set, Get): CLASS_NAMES, KERNEL_BIAS, KERNEL_DEGREE, KERNEL_GAMMA, KERNEL_TYPE, NATTRIBUTES, NCLASSES, PENALTY, OUTPUT_CLASSIFIER_URI
Output properties (Get only): OUTPUT_CLASSIFIER
Properties marked as "Set" are those that you can set to specific values. You can also retrieve their current values any time. Properties marked as "Get" are those whose values you can retrieve but not set.
Methods
This task inherits the following methods from ENVITask:
AddParameter
Execute
Parameter
ParameterNames
RemoveParameter
Properties
This task inherits the following properties from ENVITask:
COMMUTE_ON_DOWNSAMPLE
COMMUTE_ON_SUBSET
DESCRIPTION
DISPLAY_NAME
NAME
REVISION
TAGS
This task also contains the following properties:
CLASS_NAMES (optional)
Specify a string array with the class names.
KERNEL_BIAS (optional)
Specify a bias term when KERNEL_TYPE is set to Polynomial or Sigmoid. The default value is 1.0.
KERNEL_DEGREE (optional)
Specify a value greater than or equal to 1, indicating the degree of the polynomial when KERNEL_TYPE is set to Polynomial. The default value is 2.
KERNEL_GAMMA (optional)
Specify a gamma term when KERNEL_TYPE is set to Polynomial, Radial Basis Function, or Sigmoid. The default value is 1 / NATTRIBUTES, but the optimal value for any particular classifier is highly variable and will likely need to be adjusted. You should perform a grid search for parameter selection as described in Hsu, Chang, and Lin (2010).
KERNEL_TYPE (optional)
Set this keyword to one of the following strings to indicate the kernel type:
- Linear
- Polynomial
- Radial Basis Function (default)
- Sigmoid
NATTRIBUTES (required)
Specify the number of attributes that the input data will be required to have.
NCLASSES (required)
Specify the number of unique classes that the classifier will have.
PENALTY (optional)
Specify a value indicating the penalty parameter. The default value is 100.0. The optimal value for any particular classifier is highly variable and will most likely need to be adjusted. You should perform a grid search for parameter selection as described in Hsu, Chang, and Lin (2010).
OUTPUT_CLASSIFIER
This is a reference to the initialized ENVISVMClassifier object.
OUTPUT_CLASSIFIER_URI (optional)
Specify a string with the fully qualified filename and path of the output object. If you do not specify this property, the output object (.epo) is only temporary. Once ENVI is closed, it deletes the temporary file. Restore the object later using ENVIRestoreObject.ENVISVMClassifier is a persistable object that can be saved and restored.
Version History
API Version
3.3
See Also
ENVITask, ENVISVMClassifier, ENVICreateSoftmaxRegressionClassifierTask, ENVIRestoreObject