Example 25t: Fast pre-selection followed by Dynamic Oscillating Search. More...
#include <boost/smart_ptr.hpp>
#include <exception>
#include <iostream>
#include <cstdlib>
#include <string>
#include <vector>
#include "error.hpp"
#include "global.hpp"
#include "subset.hpp"
#include "data_intervaller.hpp"
#include "data_splitter.hpp"
#include "data_splitter_5050.hpp"
#include "data_splitter_cv.hpp"
#include "data_scaler.hpp"
#include "data_scaler_void.hpp"
#include "data_accessor_splitting_memTRN.hpp"
#include "data_accessor_splitting_memARFF.hpp"
#include "criterion_wrapper.hpp"
#include "classifier_svm.hpp"
#include "search_bif.hpp"
#include "seq_step_straight_threaded.hpp"
#include "search_seq_dos.hpp"
Functions | |
int | main () |
Example 25t: Fast pre-selection followed by Dynamic Oscillating Search.
int main | ( | ) |
Dynamic Oscillating Search is a d-optimizing procedure that adjusts selected subset size in the course of search. It is a generalization of the Oscillating Search idea, which proved to be useful in various feature selection contexts. If started from empty set, DOS may need considerable time to reach higher cardinality, or does not reach such cardinality at all. In case there is a reason to expect the optimal subset size be of certain minimum known value, it may be practical to "accelerate" DOS by starting it from a subset of roughly the desired cardinality. Here we first build the initial subset of 20 features by selecting features according to best individual ranking. The initial subset is then used as starting point of the DOS search. Here we illustrate threaded feature selection on 40-dimensional waveform data with 3-fold cross-validated SVM wrapper as criterion.
References FST::Search_DOS< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::search(), FST::Search_DOS< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::set_delta(), and FST::Search< RETURNTYPE, DIMTYPE, SUBSET, CRITERION >::set_output_detail().