scikit learn PCA降维 - 数据特征多样本少
我正在尝试使用scikit-learn中的PCA进行降维。我的数据集大约有300个样本和4096个特征。我想把维度减少到400和40。但是当我调用算法时,得到的数据最多只有“样本数量”的特征。
from sklearn.decomposition import PCA
pca = PCA(n_components = 400)
trainData = pca.fit_transform(trainData)
testData = pca.transform(testData)
这里训练数据的初始形状是300x4096,而结果数据的形状是300x300。有没有办法在这种数据(特征很多,样本很少)的情况下进行这个操作呢?
1 个回答
3
从一个 M x N 的数据集中,最多可以提取的主成分数量是 min(M, N)。这不是算法的问题,根本上来说,这就是能提取的最大数量。