SYNOPSIS
pkfsann -t training -n number [options] [advanced options]DESCRIPTION
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.pkfsann implements a number of feature selection techniques, among which a sequential floating forward search (SFFS). Also consider the SVM classifier implemented in pksvm(1), which has been shown to be more robust to this type of problem than others.
OPTIONS
- -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)
- --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)
- -a 0|1|2, --aggreg 0|1|2
- how to combine aggregated classifiers, see also --rc option (0: no aggregation, 1: sum rule, 2: max rule).
- -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).
- -n number, --nneuron number
- number of neurons in hidden layers in neural network (multiple hidden layers are set by defining multiple number of neurons: -nn 15 -nn 1, default is one hidden layer with 5 neurons)
- --connection 0|1
- connection rate (default: 1.0 for a fully connected network)
- -w weights, --weights weights
- weights for neural network. Apply to fully connected network only, starting from first input neuron to last output neuron, including the bias neurons (last neuron in each but last layer)
- -l rate, --learning rate
- learning rate (default: 0.7)
- --maxit number
- number of maximum iterations (epoch) (default: 500)