我在openCV中使用Principal Component Analysis(PCA)。我感兴趣的案例的构造函数输入是:
PCA(InputArray data, InputArray mean, int flags, double retainedVariance);
关于InputArray'数据',文档说明适当的标志应该是:
CV_PCA_DATA_AS_ROW 表示输入样本存储为 矩阵行。 CV_PCA_DATA_AS_COL 表示输入样本为 存储为矩阵列。
我的问题与“样本”一词的使用有关,因为我不确定在这种情况下样本是什么。
例如,假设我有 4 组数据,为了便于说明,我们将它们标记为A-D。现在每个集合A到D都有 8 元素。然后将它们设置在Mat变量中,我将用作InputArray,如下所示:
问题是,它是:
另一种询问方式:
作为一个猜测,我选择 CV_PCA_DATA_AS_COL (即我有4个样本) - 但这就是我的头脑所在...直到我学会了正确术语似乎“样本”这个词可能适用于任何推理。
答案 0 :(得分:0)
啊...
所以通过颠倒PCA ::项目步骤的文档背后的逻辑来找到答案......
Mat PCA::project(InputArray vec)
vec - 输入向量;必须具有相同的维度和相同 布局作为PCA阶段使用的输入数据,即if 指定CV_PCA_DATA_AS_ROW,然后指定vec.cols == data.cols(vector 维数)
即。 'sample'相当于'set',元素是'尺寸'。
(我的猜测是正确的:)