Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

TestSvm.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Training_Test_TestSvm_h
00002 #define Impala_Core_Training_Test_TestSvm_h
00003 
00004 #include <cppunit/extensions/HelperMacros.h>
00005 #include "Basis/ILog.h"
00006 #include "Core/Training/Svm.h"
00007 
00008 
00009 namespace Impala
00010 {
00011 namespace Core
00012 {
00013 namespace Training
00014 {
00015 
00016 class TestSvm : public CPPUNIT_NS::TestFixture
00017 {
00018     CPPUNIT_TEST_SUITE(TestSvm);
00019     CPPUNIT_TEST(testDiffSv);
00020     CPPUNIT_TEST(testDiffParams);
00021     CPPUNIT_TEST(testDiffRest);
00022     CPPUNIT_TEST(testDiffLength);
00023     CPPUNIT_TEST(testDiffProb);
00024     CPPUNIT_TEST_SUITE_END();
00025 
00026 public:
00027     void
00028     testDiffSv()
00029     {
00030         Svm svm1(
00031              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00032               probA -2.0 \n probB -1.0 \n\
00033               total_sv 4 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n SV\n\
00034               0.15 1:0.53 2:0.09\n\
00035               0.81 1:0.46 2:0.08\n\
00036               0.67 1:0.55 2:0.07\n\
00037               0.70 1:0.52 2:0.10\n");
00038         Svm svm2(
00039              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00040               probA -2.0 \n probB -1.0 \n\
00041               total_sv 4 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n SV\n\
00042               0.15 1:0.53 2:0.09\n\
00043               0.81 1:0.   2:0.08\n\
00044               0.67 1:0.   2:0.07\n\
00045               0.70 1:0.   2:0.  \n");
00046         CPPUNIT_ASSERT_EQUAL(4, svm1.Diff(&svm2));
00047         Svm svm3(
00048              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00049               probA -2.0 \n probB -1.0 \n\
00050               total_sv 4 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n SV\n\
00051               0.   1:0.53 2:0.09\n\
00052               0.81 1:0.46 2:0.08\n\
00053               0.   1:0.55 2:0.  \n\
00054               0.70 1:0.52 2:0.10\n");
00055         CPPUNIT_ASSERT_EQUAL(3, svm1.Diff(&svm3));
00056     }
00057 
00058     void
00059     testDiffParams()
00060     {
00061         Svm svm1(
00062              "svm_type c_svc \n kernel_type precomputed \n gamma 1 \n\
00063               nr_class 2 \n total_sv 4 \n rho -1.31232 \n label -1 1 \n\
00064               nr_sv 2 2 \n SV\n\
00065               0.1527539041594556 1:0.53225695 2:0.095924066\n\
00066               0.8158872069487452 1:0.46593458 2:0.082806218\n\
00067               0.6799880958087516 1:0.55273578 2:0.071580481\n\
00068               0.7037686596065742 1:0.52942213 2:0.10499618\n");
00069         Svm svm2(
00070              "svm_type c_svc \n kernel_type dist-precomputed \n nr_class 2 \n\
00071               total_sv 4 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n SV\n\
00072               0.1527539041594556 1:0.53225695 2:0.095924066\n\
00073               0.8158872069487452 1:0.46593458 2:0.082806218\n\
00074               0.6799880958087516 1:0.55273578 2:0.071580481\n\
00075               0.7037686596065742 1:0.52942213 2:0.10499618\n");
00076         CPPUNIT_ASSERT_EQUAL(0, svm1.Diff(&svm2));
00077     }
00078 
00079     void
00080     testDiffRest()
00081     {
00082         Svm svm1(
00083              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00084               probA -2.0 \n probB -1.0 \n\
00085               total_sv 4 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n SV\n\
00086               0.1527539041594556 1:0.53225695 2:0.095924066\n\
00087               0.8158872069487452 1:0.46593458 2:0.082806218\n\
00088               0.6799880958087516 1:0.55273578 2:0.071580481\n\
00089               0.7037686596065742 1:0.52942213 2:0.10499618\n");
00090         Svm svm2(
00091              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00092               probA -2.0 \n probB -1.0 \n\
00093               total_sv 4 \n rho -1.7 \n label -1 1 \n nr_sv 3 1 \n SV\n\
00094               0.1527539041594556 1:0.53225695 2:0.095924066\n\
00095               0.8158872069487452 1:0.46593458 2:0.082806218\n\
00096               0.6799880958087516 1:0.55273578 2:0.071580481\n\
00097               0.7037686596065742 1:0.52942213 2:0.10499618\n");
00098         CPPUNIT_ASSERT_EQUAL(3, svm1.Diff(&svm2));
00099     }
00100 
00101     void
00102     testDiffLength()
00103     {
00104         Svm svm1(
00105              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00106               probA -2.0 \n probB -1.0 \n\
00107               total_sv 3 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n SV\n\
00108               0.2 1:0.2 2:0.2\n\
00109               0.3 1:0.3 2:0.3\n\
00110               0.4 1:0.4 2:0.4\n");
00111         Svm svm2(
00112              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00113               probA -2.0 \n probB -1.0 \n\
00114               total_sv 4 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n SV\n\
00115               0.1 1:0.1 2:0.1\n\
00116               0.2 1:0.2 2:0.2\n\
00117               0.3 1:0.3 2:0.3\n\
00118               0.4 1:0.4 2:0.4\n");
00119         CPPUNIT_ASSERT_EQUAL(1, svm1.Diff(&svm2));
00120     }
00121 
00122     void
00123     testDiffProb()
00124     {
00125         Svm svm1(
00126              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00127               total_sv 4 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n\
00128               probA 12.56 \n probB -24.1 \n SV\n\
00129               0.1527539041594556 1:0.53225695 2:0.095924066\n\
00130               0.8158872069487452 1:0.46593458 2:0.082806218\n\
00131               0.6799880958087516 1:0.55273578 2:0.071580481\n\
00132               0.7037686596065742 1:0.52942213 2:0.10499618\n");
00133         Svm svm2(
00134              "svm_type c_svc \n kernel_type rbf \n gamma 1 \n nr_class 2 \n\
00135               total_sv 4 \n rho -1.31232 \n label -1 1 \n nr_sv 2 2 \n\
00136               probA 56.12 \n probB -1.24 \n SV\n\
00137               0.1527539041594556 1:0.53225695 2:0.095924066\n\
00138               0.8158872069487452 1:0.46593458 2:0.082806218\n\
00139               0.6799880958087516 1:0.55273578 2:0.071580481\n\
00140               0.7037686596065742 1:0.52942213 2:0.10499618\n");
00141         CPPUNIT_ASSERT_EQUAL(2, svm1.Diff(&svm2));
00142     }
00143 };
00144 
00145 CPPUNIT_TEST_SUITE_REGISTRATION(TestSvm);
00146 
00147 } //namespace
00148 } //namespace
00149 } //namespace
00150 
00151 #endif

Generated on Thu Jan 13 09:04:41 2011 for ImpalaSrc by  doxygen 1.5.1