Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Doc2Vec模型的DBSCAN聚类_Python_Machine Learning_Scikit Learn_Gensim_Dbscan - Fatal编程技术网

Python Doc2Vec模型的DBSCAN聚类

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{

我有一个用Gensim创建的Doc2Vec模型,我想使用
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,它并没有真正显示分组。非常感谢。