Example 12t: Threaded SVM-wrapper-based feature selection with 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 "seq_step_straight_threaded.hpp"
#include "search_seq_dos.hpp"
Functions | |
int | main () |
Example 12t: Threaded SVM-wrapper-based feature selection with 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. Here we demonstrate it in multi-threaded configuration (using Sequential_Step_Straight_Threaded
instead of Sequential_Step_Straight
evaluator object). In this example due to the use of very complex feature selection criterion (SVM Wrapper) the speed gain due to multithreading is substantial. In this example features are selected on 40-dimensional waveform data with 3-fold cross-validated SVM wrapper as criterion on the first 50% of data samples. The final classification performance on the selected subspace is eventually validated on the second 50% of data.
References FST::Search_DOS< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::search(), and FST::Search_DOS< RETURNTYPE, DIMTYPE, SUBSET, CRITERION, EVALUATOR >::set_delta().