fixed a bug in boost.calc_error and added more documentation

This commit is contained in:
Gary Bradski 2011-02-28 02:24:11 +00:00
parent 3dc7a67f59
commit 518ed29480

View File

@ -10,8 +10,8 @@ void help()
"CvRTrees rtrees;\n" "CvRTrees rtrees;\n"
"CvERTrees ertrees;\n" "CvERTrees ertrees;\n"
"CvGBTrees gbtrees;\n" "CvGBTrees gbtrees;\n"
"Date is hard coded to come from filename = \"../../../OpenCV/samples/c/waveform.data\";\n" "Date is hard coded to come from filename = \"../../../opencv/samples/c/waveform.data\";\n"
"Or can come from filename = \"../../../OpenCV/samples/c/waveform.data\";\n" "Or can come from filename = \"../../../opencv/samples/c/waveform.data\";\n"
"Call:\n" "Call:\n"
"./tree_engine\n\n"); "./tree_engine\n\n");
} }
@ -38,13 +38,13 @@ int main()
{ {
const int train_sample_count = 300; const int train_sample_count = 300;
//#define LEPIOTA #define LEPIOTA //Turn on discrete data set
#ifdef LEPIOTA #ifdef LEPIOTA //Of course, you might have to set the path here to what's on your machine ...
const char* filename = "../../../OpenCV/samples/c/agaricus-lepiota.data"; const char* filename = "../../opencv/samples/c/agaricus-lepiota.data";
#else #else
const char* filename = "../../../OpenCV/samples/c/waveform.data"; const char* filename = "../../opencv/samples/c/waveform.data";
#endif #endif
printf("\n Reading in %s. If it is not found, you may have to change this hard-coded path in tree_engine.cpp\n\n",filename);
CvDTree dtree; CvDTree dtree;
CvBoost boost; CvBoost boost;
CvRTrees rtrees; CvRTrees rtrees;
@ -74,7 +74,7 @@ int main()
#ifdef LEPIOTA #ifdef LEPIOTA
printf("======BOOST=====\n"); printf("======BOOST=====\n");
boost.train( &data, CvBoostParams(CvBoost::DISCRETE, 100, 0.95, 2, false, 0)); boost.train( &data, CvBoostParams(CvBoost::DISCRETE, 100, 0.95, 2, false, 0));
print_result( boost.calc_error( &data, CV_TRAIN_ERROR ), boost.calc_error( &data ), 0 ); print_result( boost.calc_error( &data, CV_TRAIN_ERROR ), boost.calc_error( &data, CV_TEST_ERROR ), 0 ); //doesn't compute importance
#endif #endif
printf("======RTREES=====\n"); printf("======RTREES=====\n");
@ -87,7 +87,7 @@ int main()
printf("======GBTREES=====\n"); printf("======GBTREES=====\n");
gbtrees.train( &data, CvGBTreesParams(CvGBTrees::DEVIANCE_LOSS, 100, 0.05f, 0.6f, 10, true)); gbtrees.train( &data, CvGBTreesParams(CvGBTrees::DEVIANCE_LOSS, 100, 0.05f, 0.6f, 10, true));
print_result( gbtrees.calc_error( &data, CV_TRAIN_ERROR), gbtrees.calc_error( &data, CV_TEST_ERROR ), 0 ); print_result( gbtrees.calc_error( &data, CV_TRAIN_ERROR), gbtrees.calc_error( &data, CV_TEST_ERROR ), 0 ); //doesn't compute importance
} }
else else
printf("File can not be read"); printf("File can not be read");