OpenCV主成分分析术语 - 实际上是什么'样本'?

时间:2015-07-19 05:48:41

标签: opencv machine-learning pca principal-components

我在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,如下所示:

enter image description here

问题是,它是:

  • 我的是样本吗?
  • 我的数据元素是样本吗?

另一种询问方式:

  • 我有4个样本(CV_PCA_DATA_AS_COL)
  • 或者我有4组8个样本(CV_PCA_DATA_AS_ROW)

作为一个猜测,我选择 CV_PCA_DATA_AS_COL (即我有4个样本) - 但这就是我的头脑所在...直到我学会了正确术语似乎“样本”这个词可能适用于任何推理。

1 个答案:

答案 0 :(得分:0)

啊...

所以通过颠倒PCA ::项目步骤的文档背后的逻辑来找到答案......

Mat PCA::project(InputArray vec)
  

vec - 输入向量;必须具有相同的维度和相同   布局作为PCA阶段使用的输入数据,即if   指定CV_PCA_DATA_AS_ROW,然后指定vec.cols == data.cols(vector   维数)

即。 'sample'相当于'set',元素是'尺寸'。

(我的猜测是正确的:)