Сохранить большую модель PCA на диске: struct.error: в формате 'i' требуется -2147483648 <= число <= 2147483647

У меня есть подмножество большого набора данных из примерно 2,5 миллионов примеров, называемого моим набором данных, где я взял 10000 выборок, таких что:

sample_dataset.shape
(10000,28980)

Я хотел бы применить PCA для уменьшения размерности (и оставить компоненты, которые объясняют 95% дисперсии данных) следующим образом:

pca = PCA()
pca.fit_transform(sample_dataset)
values = pca.explained_variance_ratio_.cumsum()
max_val=filter(lambda x : x >= 0.95,values)[0] # to keep only the components that explain 95% of data variance 
arg_idx=np.where(values == max_val)
arg_idx=arg_idx[0][0]
results=[pca,values,arg_idx]

print('Store PCA model')
filename = 'pca_model.pkl'
pickle.dump(results,open(filename,'wb'),protocol=pickle.HIGHEST_PROTOCOL)

Поскольку модель слишком велика, я получаю ошибку в:

pickle.dump(results,open(filename,'wb'),protocol=pickle.HIGHEST_PROTOCOL)

это struct.error: для формата 'i' требуется -2147483648 <= число <= 2147483647

Любой сигнал, чтобы сохранить эту большую модель? так что цель состоит в том, чтобы загрузить эту модель, чтобы применить ее к тестовым данным следующим образом:

pickle_off = open('pca_model.pkl', 'rb')
config_file=pickle.load(pickle_off)
model_pca=config_file[0]
results_pca = model_pca.transform(test_data)
results_pca = results_pca[:, :config_file[2]]#  config_file[2] contains the number of components that explain 95% of data variance 

Спасибо за помощь

0 ответов

Другие вопросы по тегам