[英]Plotting DBSCAN Clustering of Doc2Vec model
我有一個用 Gensim 創建的 Doc2Vec model 並想使用scikit-learn
DBSCAN 在 model 中查找句子的聚類。
我正在努力研究如何最好地轉換 model 向量以與 DBSCAN 和 plot 集群一起使用,並且在 web 上找不到許多直接適用的示例。
這是我到目前為止所擁有的:
import gensim
import numpy as np
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt
fnIn = 'NLPModels/doc2VecModel_vector_size{0}_epochs{1}.bin'
def doCluster(vector_size, epochs):
model = gensim.models.doc2vec.Doc2Vec.load(fnIn.format(vector_size, epochs))
Y = model.docvecs.index2entity # tags
X = [] # Document vectors
for tag in Y:
X.append(model.docvecs[tag])
db = DBSCAN(eps=.1, min_samples=5, metric='cosine').fit_predict(X)
labels = set(db)
print(labels)
doCluster(100, 10)
Output: {0, 1, -1}
我認為這是兩個集群(0和1)和異常值(-1)。
我是否以正確的方式解決這個問題?
我將如何在圖表上 plot 以可視化集群?
謝謝。
這里有兩個問題:
可視化:建議您細化DBSCAN 聚類示例代碼
如果您正確地進行聚類。 乍一看 - 是的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.