#include "amma/Num/NumClassifyBayes.hh" #include "amma/Num/NumPDFNormal.hh" #include "amma/Num/NumPerfLeaveOutOne.hh" #include "amma/Num/NumErrorCount.hh" #include "amma/Num/NumSelectConstant.hh" #include "amma/Num/NumSelectGenetic.hh" #include "amma/Vector2d.hh" main () { // Setup training data NumVLDataSetC trainL; trainL.Append (Vector2dC(1,1),0); trainL.Append (Vector2dC(1,-1),0); trainL.Append (Vector2dC(2,0),0); trainL.Append (Vector2dC(1.5,0.5),0); trainL.Append (Vector2dC(-1,1),1); trainL.Append (Vector2dC(-1,-1),1); trainL.Append (Vector2dC(-2,0),1); trainL.Append (Vector2dC(-1.5,-0.5),1); // Setup classifier stuff NumPDFNormalC pdf; VectorC prior (2); prior.Fill (0.5); NumClassifyBayesC class1 (pdf,prior); // Setup error weighting stuff NumErrorCountC errorCount; NumPerfLeaveOutOneC perfMeasure; // Setup Feature selectors IntSArray1dC list (1); list[0] = 1; SArray1dC select (2); select[0] = NumSelectConstantC (list); select[1] = NumSelectGeneticC (); // Test selectors FOR_SARRAY1 (select,i) { select[i].Design (trainL,class1,errorCount,perfMeasure); cout << select[i].GetInfo () << endl; cout << "Input feature set PMC = " << perfMeasure.PMC (trainL,class1,errorCount) << endl; NumVLDataSetC subTrain (select[i].Evaluate(trainL.InputSet()),trainL.OutputSet()); cout << "Output training set PMC = " << perfMeasure.PMC (subTrain,class1,errorCount) << endl; cout << "Input feature set: " << trainL.InputSet() << endl; cout << "Output feature set: " << subTrain.InputSet() << endl; } }