用python写一个word2vec和k-means聚类算法
时间: 2023-11-30 20:06:36 浏览: 101
python实现k-means聚类算法
好的,我可以为您提供一个简单的示例代码,但是需要先安装 `gensim` 库和 `scikit-learn` 库。
```python
from gensim.models import Word2Vec
from sklearn.cluster import KMeans
# 创建Word2Vec模型并训练
sentences = [["this", "is", "the", "first", "sentence", "for", "word2vec"],
["this", "is", "the", "second", "sentence"],
["yet", "another", "sentence"],
["one", "more", "sentence"],
["and", "the", "final", "sentence"]]
model = Word2Vec(sentences, min_count=1)
# 获取所有词向量
X = model[model.wv.vocab]
# 使用K-means聚类
kmeans = KMeans(n_clusters=2)
kmeans.fit(X)
# 输出每个词向量所属的聚类
for i, word in enumerate(model.wv.vocab):
print(f"{word}: {kmeans.labels_[i]}")
```
这个示例代码中,我们首先使用 `gensim` 库中的 `Word2Vec` 类创建了一个 Word2Vec 模型,并使用示例句子进行了训练。然后使用 `model.wv.vocab` 获取所有词向量,将其传递给 `KMeans` 类进行聚类。最后,我们输出每个词向量所属的聚类。
请注意,这个示例代码仅用于演示目的,实际应用中需要根据数据情况进行参数的调整。
阅读全文