如何使用层次聚类对word2vec模型进行聚类

2024-04-20 06:29:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个word2vec模型,我想使用层次聚类ward方法对它进行聚类,我的代码在这里。你知道吗

import gensim
import csv
import numpy as np
path = './model_terbaru/idwiki_word2vec_100.model'
model = gensim.models.word2vec.Word2Vec.load(path)
X = model[model.wv.vocab]
from sklearn.cluster import AgglomerativeClustering
cluster = AgglomerativeClustering(n_clusters=130, affinity='euclidean', linkage='ward')
assigned_clusters=cluster.fit_predict(X)
words = list(model.wv.vocab)
for i, word in enumerate(words):
    try:
        mylist= np.append(word,str(assigned_clusters[i]))
        ok=open('hasil_cluster30.csv','a')
        a=csv.writer(ok,lineterminator='\n')
        a.writerows([mylist])
    except:
        pass
ok.close()

我的代码有错误

dm = np.empty((m * (m - 1)) // 2, dtype=np.double)

MemoryError

请帮帮我。。你知道吗


Tags: csvpath代码importmodelnpok聚类