enter image description here我正在使用Python,numpy和scipy对我为文本分析创建的主题模型的输出进行一些层次聚类。
我将我的testcorpus应用于ldamodel,因此它成了一个词袋代表。然后我把它变成了一个矩阵。现在我想使用scipy来创建矩阵的链接矩阵。但它给出了值错误:使用序列设置数组元素。 我想这是因为只有同样形状的数组才能被聚类。而且我的矩阵在列表列表中的列表之间的长度不同。 我现在不知道如何解决这个问题。 这是代码的一小部分。我不知道它是否有用。我真的希望有人可以帮助我。
import numpy as np
X = np.array(corpus)
from matplotlib import pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
Z = linkage(X, 'cosine')
答案 0 :(得分:1)
正如您提到的从lda模型中获取矩阵console.log(decodeURIComponent('%E8%93%9D'))
,它可能是某种稀疏矩阵。您可以通过X
转换为密集矩阵并应用X.todense()
方法。如果矩阵太大而无法容纳在内存中,您可以执行
linkage
。
在某些情况下,更改矩阵的Z=linkage(X.todense(),distance='cosine')
会有所帮助。