簡體   English   中英

繪制 Doc2Vec model 的 DBSCAN 聚類

[英]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 以可視化集群?

謝謝。

這里有兩個問題:

  1. 可視化:建議您細化DBSCAN 聚類示例代碼

  2. 如果您正確地進行聚類。 乍一看 - 是的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM