首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DBSCAN聚类Python -聚类词

DBSCAN聚类Python -聚类词
EN

Stack Overflow用户
提问于 2017-01-22 17:26:56
回答 1查看 1.3K关注 0票数 0

为了从一组行中提取集群,我一直在使用KMeans,我对结果不太感兴趣,我想试一下DBSCAN,看看它是否能产生更好的结果。DBSCAN输出集群词为KMeans吗?

我能够使用DBSCAN,并能够将集群的数量输出为'3‘,但是我想知道是什么上下文驱动它生成'3’集群(我想知道单词)

这是我的代码片段

代码语言:javascript
复制
 db = DBSCAN(eps=0.3, min_samples=10).fit(X)
 core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
 core_samples_mask[db.core_sample_indices_] = True
 labels = db.labels_

 # Number of clusters in labels, ignoring noise if present.
 n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)

 print('Estimated number of clusters: %d' % n_clusters_)

 print("Silhouette Coefficient: %0.3f"% metrics.silhouette_score(X, labels))
EN

回答 1

Stack Overflow用户

发布于 2017-01-22 19:45:04

您无法直接控制DBSCAN生成多少集群。在给定的密度水平上,它产生的数量尽可能多;这最好通过不同的epsilon来完成。

注意,它还会产生噪声,即一个集群(可能是第一个集群)不是集群,而是不属于任何集群的剩余点。但是,当你简单地放弃这些点时,你的轮廓就变成了假的。

由于DBSCAN集群可能是任意形状的,所以在k中没有有意义的‘质心’--这意味着您可以解释no“word”(但通常这种解释几乎是好的)。

详情请参阅维基百科文章及DBSCAN文献。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41793963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档