【发布时间】:2021-08-11 19:06:45
【问题描述】:
我不确定这个问题是否已经在 stackoverflow 上,但我找不到它,所以我决定提出一个新问题。我正在尝试减少特征矩阵的维度。我有 58 个特征和 30 个实例/测量值。我想将特征数量减少到 40。但我的矩阵维度似乎有问题。
-
featureMatrix_cv 是我的 30 行 58 列的特征矩阵
PCA pca_analysis(featureMatrix_cv, cv::Mat(), cv::PCA::DATA_AS_ROW, 40); cv::Mat neu = pca_analysis.project(featureMatrix_cv.row(0)); -
第一个问题是,
pca_analysis.eigenvectors我认为尺寸错误(30 行和 58 列)。我在几个教程中读到,我应该得到 N 个 N 维特征向量,其中 N 是特征的数量(这里是 58)。pca_analysis.eigenvalues(30 行 1 列)也有同样的问题,它的大小应该是 (58, 1)。 -
在第二行中,我尝试将第一个实例投影到新的维度空间中,但这不起作用,因为
pca_analysis.project返回的不是 40 个值,而是一个包含 30 个值的矩阵。我在教程中读到投影向量/矩阵应该有 40 个值,即特征空间的维度。
有没有人可以帮助我或遇到类似的问题?
【问题讨论】: