我使用了一个循环来适应IncrementalPCA方法中的训练批次。
inc_pca = IncrementalPCA(n_components=154)
for train_batch in np.array_split(X_train,100):
inc_pca.partial_fit(train_batch)
当尝试转换数据时,它仍然给我一个内存错误:
X_reduced = inc_pca.transform(X_train)
MemoryError: Unable to allocate 62.8 MiB for an array with shape (42000, 784) and data type float16
我使用IncrementalPCA来避免此错误,为什么它不能转换数据? 当您无法一次将所有数据加载到内存中时,我认为IncrementalPCA将用于此特定原因。 有人可以告诉我为什么转换不起作用吗?