Я пытаюсь объединить все функции, которые векторизованы друг с другом.Некоторые из этих признаков представлены в виде разреженных матриц.Я получаю сообщение об ошибке при использовании hstack для объединения всех функций.
Код:
from scipy.sparse import hstack
a_train = hstack((categories_one_hot_train, sub_categories_one_hot_tr, text_bow_train, price_standardized_tr,title_bow_train))
a_test = hstack((categories_one_hot_test, sub_categories_one_hot_test, text_bow_test, price_standardized_test,title_bow_test))
b_train = hstack((categories_one_hot_train, sub_categories_one_hot_tr,text_tfidf_train, price_standardized_tr,title_tfidf_train))
b_test = hstack((categories_one_hot_test, sub_categories_one_hot_test,text_tfidf_test, price_standardized_test,title_tfidf_test))
c_train = hstack((categories_one_hot_train , sub_categories_one_hot_tr,avg_w2v_vectors_train, price_standardized_tr,avg_w2v_vectors_title_train))
c_test = hstack((categories_one_hot_test , sub_categories_one_hot_test,avg_w2v_vectors_test, price_standardized_test,avg_w2v_vectors_title_test))
d_train = hstack((categories_one_hot_train, sub_categories_one_hot_tr,tfidf_w2v_vectors_train, price_standardized_tr,tfidf_w2v_vectors_title_train))
d_test = hstack((categories_one_hot_test, sub_categories_one_hot_test,tfidf_w2v_vectors_test, price_standardized_test,tfidf_w2v_vectors_title_test))
Сообщение об ошибке:
MemoryError Traceback (most recent call last)
<ipython-input-55-b8d41d748e49> in <module>()
17 set2_test = hstack((categories_one_hot_test, sub_categories_one_hot_test,text_tfidf_test, price_standardized_test,title_tfidf_test))
18 #set3 avg word2vec
---> 19 set3_train = hstack((categories_one_hot_train , sub_categories_one_hot_tr,avg_w2v_vectors_train, price_standardized_tr,avg_w2v_vectors_title_train))
20 set3_test = hstack((categories_one_hot_test , sub_categories_one_hot_test,avg_w2v_vectors_test, price_standardized_test,avg_w2v_vectors_title_test))
21 #set4 tfidf word2vec
~/.local/lib/python3.6/site-packages/scipy/sparse/construct.py in hstack(blocks, format, dtype)
463
464 """
--> 465 return bmat([blocks], format=format, dtype=dtype)
466
467
~/.local/lib/python3.6/site-packages/scipy/sparse/construct.py in bmat(blocks, format, dtype)
572 for j in range(N):
573 if blocks[i,j] is not None:
--> 574 A = coo_matrix(blocks[i,j])
575 blocks[i,j] = A
576 block_mask[i,j] = True
~/.local/lib/python3.6/site-packages/scipy/sparse/coo.py in __init__(self, arg1, shape, dtype, copy)
190 self.data = self.data.astype(dtype, copy=False)
191
--> 192 self._check()
193
194 def reshape(self, *args, **kwargs):
~/.local/lib/python3.6/site-packages/scipy/sparse/coo.py in _check(self)
272 idx_dtype = get_index_dtype(maxval=max(self.shape))
273 self.row = np.asarray(self.row, dtype=idx_dtype)
--> 274 self.col = np.asarray(self.col, dtype=idx_dtype)
275 self.data = to_native(self.data)
276
~/anaconda3/lib/python3.6/site-packages/numpy/core/numeric.py in asarray(a, dtype, order)
490
491 """
--> 492 return array(a, dtype, copy=False, order=order)
493
494
MemoryError:
Где я ошибся?
Если я не могу устранить эту ошибку, есть ли другие функции, которые используются для объединения разреженных матриц с обычными матрицами после кодирования данных, чтобы я мог построить модель на них.