ここで説明されている機械学習機能のいずれかを実行する場合。それらはすべてcvStatModelの形式に従います。
たとえば、NormalBayesのトレイン機能は次の方法で実現されます。
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);
したがって、ここでは、画像のファイル名がdoubleに変換され、responses
要素として使用されました。
私はこれを理解しておらず、混乱しています。responses
誰かが要素が取ることになっているものを説明できますか?そして、なぜatof
上記の例で使用されているのですか?