00001 #ifndef _INPUT_FEATURE_SELECTOR__ 00002 #define _INPUT_FEATURE_SELECTOR__ 00003 00004 #include <assert.h> 00005 #include <stdio.h> 00006 #include <stdlib.h> 00007 //#include <iostream> 00008 #include <fstream> 00009 #include <string> 00010 #include <math.h> 00011 #include <vector> 00012 #include <map> 00013 #include <dirent.h> 00014 #include <algorithm> 00015 #include <sstream> 00016 #include "ippi.h" 00017 00018 using namespace std; 00019 00020 #include "StreamOutput.h" 00021 #include "Data.h" 00022 #include "Framework.h" 00023 #include "AUC.h" 00024 #include "NumericalTools.h" 00025 00026 #define FEATURE_TXT_FILE "features.txt" 00027 00028 00038 class InputFeatureSelector : public Framework 00039 { 00040 00041 public: 00042 InputFeatureSelector(); 00043 virtual ~InputFeatureSelector(); 00044 00045 static void forwardSelection ( bool* selection, REAL* inputs, int nFeatures, int nExamples, int* labels, REAL* targets, int nClass, int nDomain ); 00046 00047 static void backwardElimination ( bool* selection, REAL* inputs, int nFeatures, int nExamples, int* labels, REAL* targets, int nClass, int nDomain ); 00048 00049 static void selectFeatures ( bool* selection, REAL* inputs, int nFeatures, int nExamples, int* labels, REAL* targets, int nClass, int nDomain ); 00050 00051 private: 00052 static void predictWithRidgeRegression ( int* colSelect, int nCol, int totalCol, int nTarget, REAL* ATAfull, REAL* ATbfull, REAL* testFeat, REAL* output, int nPred, REAL* ATA, REAL* ATb, REAL* AbTrans ); 00053 00054 }; 00055 00056 00057 #endif