Python Doc2Vec模型的DBSCAN聚类
我有一个用Gensim创建的Doc2Vec模型,我想使用Python Doc2Vec模型的DBSCAN聚类,python,machine-learning,scikit-learn,gensim,dbscan,Python,Machine Learning,Scikit Learn,Gensim,Dbscan,我有一个用Gensim创建的Doc2Vec模型,我想使用scikit learnDBSCAN在模型中查找句子聚类 我正在努力找出如何最好地转换模型向量,以使用DBSCAN和plot集群,但在web上找不到许多直接适用的示例 以下是我到目前为止的情况: 导入gensim 将numpy作为np导入 从sklearn.cluster导入DBSCAN 将matplotlib.pyplot作为plt导入 fnIn='NLPModels/doc2VecModel_vector_size{0}_epochs{
scikit learn
DBSCAN在模型中查找句子聚类
我正在努力找出如何最好地转换模型向量,以使用DBSCAN和plot集群,但在web上找不到许多直接适用的示例
以下是我到目前为止的情况:
导入gensim
将numpy作为np导入
从sklearn.cluster导入DBSCAN
将matplotlib.pyplot作为plt导入
fnIn='NLPModels/doc2VecModel_vector_size{0}_epochs{1}.bin'
def doCluster(矢量大小,历元):
model=gensim.models.doc2vec.doc2vec.load(fnIn.格式(向量大小,历代))
Y=model.docvecs.index2entity#标记
X=[]#文档向量
对于Y中的标记:
X.append(model.docvecs[tag])
db=DBSCAN(eps=0.1,最小样本数=5,公制='余弦')。拟合预测(X)
标签=设置(db)
打印(标签)
doCluster(100,10)
输出:{0,1,-1}
我认为这是两个簇(0和1)和异常值(-1)
我这样做对吗
我将如何将其绘制在图表上以可视化集群
谢谢。这里有两个问题:
这里有两个问题:
非常感谢你。我应该在绘图之前应用降维吗?当然。很难绘制100多个维度的2D图像。你可以看看谢谢,是的,TSNE确实帮了忙。我使用的是PCA,它并没有真正显示分组。非常感谢,非常感谢。我应该在绘图之前应用降维吗?当然。很难绘制100多个维度的2D图像。你可以看看谢谢,是的,TSNE确实帮了忙。我使用的是PCA,它并没有真正显示分组。非常感谢。