prtFeatSelSfs Sequential forward feature selection object.
FEATSEL = prtFeatSelSfs creates a sequental forward feature selection
object.
FEATSEL = prtFeatSelSfs(PROPERTY1, VALUE1, ...) constructs a
prttFeatSelSfs object FEATSEL with properties as specified by
PROPERTY/VALUE pair
A prtFeatSelSfsobject has the following properties:
nFeatures - The number of features to be selected
showProgressBar - Flag indicating whether or not to show the
progress bar during feature selection.
evaluationMetric - The metric to be used to determine which
features are selected. evaluationMetric must
be a function handle. The function handle must
be in the form:
@(dataSet)prtEval(prtClass, dataSet, varargin)
where prtEvak is a prtEval function, prtClass
is a prt classifier object, and varargin
represents optional input arguments to a
prtEval function.
peformance - The performance obtained by the using the
features selected.
selectedFeatures - The indices of the features selected that gave
the best performance.
A prtFeatSelExhaustive object inherits the TRAIN and RUN methods
from prtClass.
Example:
dataSet = prtDataGenFeatureSelection; % Generate a data set
featSel = prtFeatSelSfs; % Create a feature selction object
featSel.nFeatures = 3; % Select only one feature of the data
featSel = featSel.train(dataSet); % Train the feature selection object
outDataSet = featSel.run(dataSet);% Extract the data set with only the
% selected features
% Change the scoring function to prtScorePdAtPf, and change the
% classification method to prtClassMAP
featSel.evaluationMetric = @(DS)prtEvalPdAtPf(prtClassMap, DS, .9);
featSel = featSel.train(dataSet);
outDataSet = featSel.run(dataSet);