📄 testsvm.cpp
字号:
/* $Id: testsvm.cpp 2501 2005-11-14 07:10:45Z ling $ */#include <iostream>#include <fstream>#include <lemga/svm.h>int main (unsigned int argc, char* argv[]) { if (argc < 4) { std::cerr << "Usage: " << argv[0] << " datafile n_train n_test" << "\n"; return -1; } /* open data file */ std::ifstream fd(argv[1]); if (!fd.is_open()) { std::cerr << argv[0] << ": data file (" << argv[1] << ") open error\n"; return -2; } /* load training and test data */ lemga::pDataSet trd = lemga::load_data(fd, atoi(argv[2])); lemga::pDataSet ted = lemga::load_data(fd, atoi(argv[3])); std::cout << trd->size() << " training samples and " << ted->size() << " test samples loaded\n"; fd.close(); /* train SVM */ lemga::kernel::RBF kernel(0.5); lemga::SVM svm(kernel); svm.set_train_data(trd); svm.set_C(10); svm.train(); std::cout << "Total " << svm.n_support_vectors() << " support vectors." << " Please check with svm_train() output above.\n"; /* test SVM */ double tre = 0, tee = 0; for (UINT i = 0; i < trd->size(); ++i) tre += (svm(trd->x(i))[0] != trd->y(i)[0]); for (UINT i = 0; i < ted->size(); ++i) tee += (svm(ted->x(i))[0] != ted->y(i)[0]); std::cout << "training error: " << tre / trd->size() << ", test error: " << tee / ted->size() << "\n"; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -