【问题标题】:Reduce dimension by PCA in sklearn在sklearn中通过PCA减少维度
【发布时间】:2017-08-31 18:46:29
【问题描述】:

我想通过 sklearn 中的 PCA 将图像的维度从 (480,640,3) 减小到 (1,512)。所以我将图像重塑为 (1, 921600)。之后,我执行 pca 以减少维度。但它变为 (1,1) 而不是 (1,512)

>>> img.shape
(1, 921600)
>>> pca = PCA(n_components=512)
>>> pca.fit_transform(img).shape
(1, 1)

谁能告诉我如何减少单个图像的尺寸?谢谢

【问题讨论】:

  • 减小单个图像的尺寸 这本身没有意义。您需要指定并考虑如何降低维度;从高维空间到低维空间的标准是什么? (或者如果这个问题太难以接受,你想达到什么目的?)

标签: scikit-learn computer-vision pca


【解决方案1】:

这是意料之中的。 Wiki says (bold annotation by me):

PCA 是一种统计过程,它使用正交变换将可能相关变量的一组观察结果转换为一组线性不相关变量的值,称为主成分(或有时,主要变异模式) )

在形状(1, 921600) 上拟合 PCA 意味着它是一个具有 921600 个特征的样本。

sklearn's docs:

n_components == min(n_samples, n_features)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-20
    • 2017-11-11
    • 2013-09-20
    • 2018-12-03
    • 2021-10-17
    • 2014-05-31
    • 1970-01-01
    • 2016-07-21
    相关资源
    最近更新 更多