【发布时间】:2012-11-20 11:56:19
【问题描述】:
通过here 解释的任何机器学习功能时。它们都遵循 cvStatModel 的格式。
例如NormalBayes的train函数是这样实现的:
CvNormalBayesClassifier::train(const Mat& trainData, const Mat& responses, const Mat& varIdx=Mat(), const Mat& sampleIdx=Mat(), bool update=false )
文档告诉您查看 cvStatModel 以获取有关参数的详细信息。
我不明白responses 应该带什么?我知道trainData 是我们使用词袋训练系统所使用的数据,但是在响应中放置什么?
在关于词袋的示例中,响应元素的处理方式如下:
float label=atof(entryPath.filename().c_str());
labels.push_back(label);
NormalBayesClassifier classifier;
classifier.train(trainingData, labels);
所以这里图像的文件名被转换为双精度并用作responses 元素。
我不明白这一点,对此感到困惑。有人可以解释一下responses 元素应该采用什么吗?为什么在上面的例子中使用atof?
【问题讨论】:
标签: opencv machine-learning svm