为什么所有labels_都是-1?由 Python 中的 DBSCAN 生成

Jin*_*ing 7 python cluster-analysis dbscan scikit-learn word2vec

![在此输入图像描述][1]

\n\n
from sklearn.cluster import DBSCAN\ndbscan = DBSCAN(eps=0.001, min_samples=10) \nclustering = dbscan.fit(X)\n
Run Code Online (Sandbox Code Playgroud)\n\n

示例向量\xef\xbc\x9a

\n\n
array([[ 0.05811029, -1.089355  , -1.9143777 , ...,  1.235167  ,\n    -0.6473859 ,  1.5684978 ],\n   [-0.7117326 , -0.31876346, -0.45949244, ...,  0.17786546,\n     1.9377285 ,  2.190525  ],\n   [ 1.1685177 , -0.18201494,  0.19475089, ...,  0.7026453 ,\n     0.3937522 , -0.78675956],\n   ...,\n   [ 1.4172379 ,  0.01070347, -1.3984257 , ..., -0.70529956,\n     0.19471683, -0.6201791 ],\n   [ 0.6171041 , -0.8058429 ,  0.44837445, ...,  1.216958  ,\n    -0.10003573, -0.19012968],\n   [ 0.6433722 ,  1.1571665 , -1.2123466 , ...,  0.592805  ,\n     0.23889546,  1.6207514 ]], dtype=float32)\n
Run Code Online (Sandbox Code Playgroud)\n\n

X 是 model.wv.vectors,生成自model = word2vec.Word2Vec(sent, min_count=1,size= 50,workers=3, window =3, sg = 1)

\n\n

结果如下:

\n\n

数组([-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 , -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 , -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 , -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 , -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 , -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 , -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 , -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1 , -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1 , -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1 , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1 , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1 , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1 , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1 , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1 , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1 , -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\ n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1])

\n

PV8*_*PV8 6

基于文档

labels_array,形状= [n_samples]

Cluster labels for each point in the dataset given to fit(). Noisy samples are given the label -1.
Run Code Online (Sandbox Code Playgroud)

您可以在这里找到答案:Scikit 的 DBSCAN 聚类算法中的噪声样本是什么?

简而言之:这些并不完全是集群的一部分。它们只是不属于任何簇的点,并且在某种程度上可以被“忽略”。看来你有真正不同的数据,它没有中心聚类类。

你可以尝试什么?

DBSCAN(eps=0.5, min_samples=5, metric='euclidean', metric_params=None, algorithm='auto', leaf_size=30, p=None, n_jobs=None)
Run Code Online (Sandbox Code Playgroud)

您可以调整参数或更改聚类算法吗?你尝试过kmeans吗?