A
是一个3 x 3的培训矩阵,b
是一个矢量或标签。
Mat A(3, 3, CV_32FC1);
Mat b(3, 1, CV_32S);
for (int r = 1; r < 4; r++) {
for (int c = 2; c < 5; c++)
A.at<float>(r-1, c-2) = r * c;
b.row(r-1) = r;
}
这些用作
Ptr<SVM> svm = SVM::create();
svm->setType(SVM::C_SVC);
svm->setKernel(SVM::LINEAR);
svm->train(A, ROW_SAMPLE, b);
并且在训练后svm获得3乘3矩阵或supportVectors
。 supportVectors
的第1和第3行是相同的,第2行是第1 /第3行的一半。如何计算?
如果我给它一个包含3个成分的向量,它可以预测。 s
是行向量
float array[] = { 8, 10, 12 };
Mat s(1, 3, CV_32FC1, &array);
和svm->predict(s)
给了我3个?怎么样?
是否有关于supportVectors和预测的示例的数学参考?