OpenCV 主成分分析术语 – 什么是“样本”?

我在使用OpenCV进行主成分分析(PCA)。我感兴趣的情况的构造函数输入是:

PCA(InputArray data, InputArray mean, int flags, double retainedVariance);

关于InputArray ‘data’,文档指出适当的标志应该是:

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个样本) – 但这只是我的想法… 在我了解正确的术语之前,似乎“样本”这个词可以适用于这两种推理方式。


回答:

啊…

所以答案是通过逆向推理PCA::project步骤的文档找到的…

Mat PCA::project(InputArray vec)

vec – 输入向量;必须具有与PCA阶段使用的输入数据相同的维度和布局,即,如果指定了CV_PCA_DATA_AS_ROW,那么vec.cols==data.cols(向量维度)

“样本”相当于“组”,元素是“维度”。

(而且我的猜测是正确的:)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注