Main Page   Class Hierarchy   Alphabetical List   Compound List   Compound Members  

prapi::SequentialSelector Class Reference

#include <FeatureSelector.h>

Inheritance diagram for prapi::SequentialSelector:

prapi::SubSetSelector Object EventSource< SelectionEvent > Object List of all members.

Detailed Description

Methods for sequential feature selection.

This class is capable of performing (feature) subset selection with the SFS, SFFS, SBS, and SBFS methods. In fact, due to the abstraction of performance evaluation, this class serves just as an algorithm that can be used in selecting a sub-optimal subset from just about anything. A common example is finding a sub-optimal subset of model samples from a large number of candidates.

Public Methods

 SequentialSelector (GoodnessMeasure &measure, bool forward=true, bool floating=true)
 Create a new (feature) selector.

void setParams (bool forward, bool floating)
 Set search parameters.

bool isFloating () const
 See if the search is of "floating" type.

bool isForward () const
 See if the search goes forward.

util::List< int > optimize (int totalCount, int desiredCount=-1)
 Find a sub-optimal subset of items.

Constructor & Destructor Documentation

prapi::SequentialSelector::SequentialSelector GoodnessMeasure &    measure,
bool    forward = true,
bool    floating = true

Create a new (feature) selector.

The different types of selection schemes can be achieved with the following parameter combinations:

 Method | forward floating
 SBS    | false   false
 SBFS   | false   true
 SFS    | true    false
 SFFS   | true    true
forward  if true, selection is started with an empty item set. At each iteration, all remaining items are added to "enabled" items in turn, the resulting sets are evaluated, and the best one is selected. If false, the search goes backward. That is, selection is started with all items enabled. Each item is dropped out in turn, and the item whose removal resulted in the best score is discarded.
floating  if true, the search goes both back and forth, alternating each phase.

Member Function Documentation

List< int > prapi::SequentialSelector::optimize int    totalCount,
int    desiredCount = -1

Find a sub-optimal subset of items.

The implementation of this method is method-dependent. By convention, each implementation should fire a SelectionEvent every time an optimization round is finished.

totalCount  the total number of items out of which the subset is to be selected.
the  desired number of enabled items after optimization. If this value is set to a non-positive value, optimization is stopped only after the goodness threshold is exceeded.

Implements prapi::SubSetSelector.

The documentation for this class was generated from the following files:
Documentation generated on 11.09.2003 with Doxygen.
The documentation is copyrighted material.
Copyright © Topi Mäenpää 2003. All rights reserved.