我用Gensim创建了一个Doc2Vec模型,并希望使用scikit-learn
DBSCAN在模型中查找句子集群
我正在努力找出如何最好地转换模型向量,以使用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)
输出:{0, 1, -1}
我认为这是两个簇(0和1)和异常值(-1)
我这样做对吗
我将如何将其绘制在图表上以可视化集群
谢谢
这里有两个问题:
可视化:我建议您优化DBSCAN clustering example code
如果您正确地进行了集群。 乍一看——是的
相关问题 更多 >
编程相关推荐