我将每个XML文档表示为csr_matrix格式的特征矩阵。现在我有大约3000个XML文档,得到了一个csr_matrices列表。我想要将这些矩阵压缩为特征向量,然后将所有这些特征向量合并成一个csr_matrix,表示所有XML文档作为一个整体,其中每行是一个文档,每列是一个特征。
一种实现方法是通过下面的代码:
X= csr_matrix([a.toarray().ravel().tolist() for a in ls])
这里的ls是csr_matrices列表,但是这样做效率非常低,当有3000个文档时,程序会崩溃!
换句话说,我的问题是如何展开'ls'列表中的每个csr_matrix,而不必将其转换为数组,并将展开的csr_matrices附加到另一个csr_matrix中。
请注意,我正在使用带有Scipy的Python。
提前致谢!