我一直试图用PCA进行一些降维。我现在有一个大小的图像(100,100),我正在使用一个由140个Gabor滤波器组成的滤波器组,其中每个过滤器给我一个响应,这又是一个图像(100,100)。现在,我想做的特征选择,我只想选择非冗余的功能,我读到PCA可能是一个很好的方法。
因此,我创建了一个数据矩阵,它有10000行和140个列。因此,每一行包含针对该滤波器组的Gabor过滤器的各种响应。现在,据我所知,我可以使用PCA对这个矩阵进行分解。
from sklearn.decomposition import PCA
pca = pca(n_components = 3)
pca.fit(Q) # Q is my 10000 X 140 matrix然而,现在我不知道如何才能从这里找出这140个特征向量中的哪一个。我猜它应该给我这140个矢量中的3个(对应于Gabor滤波器,它包含了图像的大部分信息),但我不知道如何从这里开始。
发布于 2014-11-05 18:55:08
PCA会给你一个线性组合的特征,而不是一个选择的特征。它将给你线性组合,这是最好的重建在L2意义上,也就是一个捕捉最大的方差。
你的目标是什么?如果您在一张图像上这样做,任何类型的选择都会给您提供一些特征,这些特征将使图像的某些部分与同一图像的其他部分区别开来。
另外: Garbor滤波器是自然图像的稀疏基础。我不会期待任何有趣的事情发生,除非你有非常具体的图像。
https://stackoverflow.com/questions/26757412
复制相似问题