gensim TransformedCorpus数据到数组的高效转换
Efficient transformation of gensim TransformedCorpus data to array
是否有比下面的逐行方法更直接或更有效的方法将主题概率数据从 gensim.interfaces.TransformedCorpus 对象获取到 numpy 数组(或者 pandas 数据帧)?
from gensim import models
import numpy as np
num_topics = 5
model = models.LdaMulticore(corpus, num_topics=num_topics, minimum_probability=0.0)
all_topics = model.get_document_topics(corpus)
num_docs = len(all_topics)
lda_scores = np.empty([num_docs, num_topics])
for i in range(0, num_docs):
lda_scores[i] = np.array(all_topics[i]).transpose()[1]
可能为时已晚,但 gensim 有一个用于与 numpy/scipy 数组相互转换的辅助函数。
您要查找的内容:
然后您可以根据需要将输出转换为 numpy 数组或 pandas df。
import gensim
import numpy as np
all_topics_csr = gensim.matutils.corpus2csc(all_topics)
all_topics_numpy = all_topics_csr.T.toarray()
是否有比下面的逐行方法更直接或更有效的方法将主题概率数据从 gensim.interfaces.TransformedCorpus 对象获取到 numpy 数组(或者 pandas 数据帧)?
from gensim import models
import numpy as np
num_topics = 5
model = models.LdaMulticore(corpus, num_topics=num_topics, minimum_probability=0.0)
all_topics = model.get_document_topics(corpus)
num_docs = len(all_topics)
lda_scores = np.empty([num_docs, num_topics])
for i in range(0, num_docs):
lda_scores[i] = np.array(all_topics[i]).transpose()[1]
可能为时已晚,但 gensim 有一个用于与 numpy/scipy 数组相互转换的辅助函数。
您要查找的内容:
然后您可以根据需要将输出转换为 numpy 数组或 pandas df。
import gensim
import numpy as np
all_topics_csr = gensim.matutils.corpus2csc(all_topics)
all_topics_numpy = all_topics_csr.T.toarray()