pkfssvm - feature selection for nn classifier
pkfssvm
-t training -n number [options]
[advanced options]
Classification problems dealing with high dimensional input data
can be challenging due to the Hughes phenomenon. Hyperspectral data, for
instance, can have hundreds of spectral bands and require special attention
when being classified. In particular when limited training data are
available, the classification of such data can be problematic without
reducing the dimension.
The SVM classifier has been shown to be more robust to this type
of problem than others. Nevertheless, classification accuracy can often be
improved with feature selection methods. The utility pkfssvm implements a
number of feature selection techniques, among which a sequential floating
forward search (SFFS).
- -t filename,
--training filename
- training vector file. A single vector file contains all training features
(must be set as: B0, B1, B2,...) for all classes (class numbers identified
by label option). Use multiple training files for bootstrap aggregation
(alternative to the bag and bsize options, where a random subset is taken
from a single training file)
- -n number, --nf
number
- number of features to select (0 to select optimal number, see also
--ecost option)
- -i filename,
--input filename
- input test set (leave empty to perform a cross validation based on
training only)
- -v level,
--verbose level
- set to: 0 (results only), 1 (confusion matrix), 2 (debug)
Advanced options
- -tln layer,
--tln layer
- training layer name(s)
- -label
attribute, --label attribute
- identifier for class label in training vector file. (default: label)
- -bal size,
--balance size
- balance the input data to this number of samples for each class (default:
0)
- -random,
--random
- in case of balance, randomize input data
- -min number,
--min number
- if number of training pixels is less then min, do not take this class into
account
- -b band, --band
band
- band index (starting from 0, either use band option or use start to
end)
- -sband band,
--startband band
- start band sequence number
- -eband band,
--endband band
- end band sequence number
- -offset
value, --offset value
- offset value for each spectral band input features:
refl[band]=(DN[band]-offset[band])/scale[band]
- -scale value,
--scale value
- scale value for each spectral band input features:
refl=(DN[band]-offset[band])/scale[band] (use 0 if scale min and max in
each band to -1.0 and 1.0)
- -svmt type,
--svmtype type
- type of SVM (C_SVC, nu_SVC,one_class, epsilon_SVR, nu_SVR)
- -kt type,
--kerneltype type
- type of kernel function (linear,polynomial,radial,sigmoid)
- -kd value,
--kd value
- degree in kernel function
- -g value,
--gamma value
- gamma in kernel function
- -c0 value,
--coef0 value
- coef0 in kernel function
- -cc value,
--ccost value
- the parameter C of C-SVC, epsilon-SVR, and nu-SVR
- -nu value,
--nu value
- the parameter nu of nu-SVC, one-class SVM, and nu-SVR
- -eloss value,
--eloss value
- the epsilon in loss function of epsilon-SVR
- -cache number,
--cache number
- cache memory size in MB (default: 100)
- -etol value,
--etol value
- the tolerance of termination criterion (default: 0.001)
- -shrink,
--shrink
- whether to use the shrinking heuristics
- -sm method,
--sm method
- feature selection method (sffs=sequential floating forward search,
sfs=sequential forward search, sbs, sequential backward search, bfs=brute
force search)
- -ecost value,
--ecost value
- epsilon for stopping criterion in cost function to determine optimal
number of features
- -cv value,
--cv value
- n-fold cross validation mode (default: 0)
- -c name,
--class name
- list of class names.
- -r value,
--reclass value
- list of class values (use same order as in --class option).