我对聚合集群和doc2vec是新手,所以我希望有人能帮助我解决以下问题。在
这是我的代码:
model = AgglomerativeClustering(linkage='average',
connectivity=None, n_clusters=2)
X = model_dm.docvecs.doctag_syn0
model.fit(X, y=None)
model.fit_predict(X, y=None)
我想要的是预测每次观测距离的平均值。我得到了以下错误:
^{pr2}$
Tags:
您将得到一个
MemoryError
。这是一个可靠的指示器,表明内存不足,在指示的行上。在该行表示试图分配
np.zeros()
数组,该数组包含double
类型的(m * (m - 1)) // 2
(8字节)。看一下scipy
源,m
,这里是X
,又名model_dm.docvecs.doctag_syn0.shape[0]
中的向量数。在那么,你和多少个DocVec一起工作?如果是20万,你需要。。。在
…或大约320GB的RAM才能使
np.zeros()
分配成功。如果你有更多的文档(如果你有更多的文档)(聚集聚类需要知道所有成对距离,scipy实现在开始时试图计算和存储这些距离,这非常消耗空间。)
您可能需要有更多的RAM,或者使用更少的docvec,或者使用不同的集群算法,或者使用一个在计算距离方面比较懒惰的实现(但是由于经常需要重新计算,而不是重复使用所需的距离,所以速度要慢得多)。在
相关问题 更多 >
编程相关推荐