尝试使用sklearn的IncrementalPCA进行转换时出现内存错误

时间:2020-06-20 19:46:51

标签: python machine-learning memory scikit-learn pca

我使用了一个循环来适应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将用于此特定原因。 有人可以告诉我为什么转换不起作用吗?

0 个答案:

没有答案