Как собрать выходные данные IncrementalPCA sklearn (ipca.transform)Python

Программы на Python
Anonymous
Как собрать выходные данные IncrementalPCA sklearn (ipca.transform)

Сообщение Anonymous »

У меня есть огромный массив numpy, который мне нужно преобразовать с помощью IncrementalPCA sklearn.
Это массив (22, 258186260). Поэтому я разделил его на обе оси, как показано в приведенном ниже коде.
Во-первых) Я не уверен, позволяет ли это разделить входные данные с использованием первой и второй осей.
Во-вторых) Если это правильно, как сформировать выходные данные «ipca.transform»
dset = h5f['test']

ds0, ds1 = dset.shape[0], dset.shape[1]

n = dset .shape[0] # how many rows we have in the dataset
chunk_size = 2#1000 # how many rows we feed to IPCA at a time, the divisor of n

for i in range(0, n//chunk_size):# for partial_fit

for batch in np.split( dset[i*chunk_size : (i+1)*chunk_size] , 10,axis=1):
pca1.partial_fit(batch)

my_out_all=[]
for i in range(0, n//chunk_size): # for transform

for batch in np.split( dset[i*chunk_size : (i+1)*chunk_size], 10,axis=1):

my_out=pca1.transform(batch)

my_out_all.append (my_out) # how to shape the output


Подробнее здесь: https://stackoverflow.com/questions/781 ... -transform

Вернуться в «Python»