我有 200张图片,我必须从这些图片中创建1000个成分特征面,这就是我正在使用sklearn
做的事情:
from sklearn.decomposition import PCA
n_comp = 1000
pca = PCA(n_components=n_comp, svd_solver='auto', whiten=True).fit(x_train)
eigenfaces = pca.components_.reshape((n_comp, 120, 96))
最后一行是我得到错误的地方:
ValueError: cannot reshape array of size 2304000 into shape (1000, 120, 96)
当n_comp
为<=200
时,代码可以正常工作。
如果我检查pca.components_
的长度:
print(len(pca.components_))
我得到:200
而不是1000
,这说明了错误消息中的数字:2304000
。它来自= (120*96) * 200
那我在做什么错了?