python - 使用 python 和 scikit-learn 的 DBSCAN : What exactly are the integer labes returned by make_blobs?

标签 python scikit-learn dbscan

我正在尝试理解由 scikit ( http://scikit-learn.org/0.13/auto_examples/cluster/plot_dbscan.html) 实现的 DBSCAN 算法的示例。

我换了行

X, labels_true = make_blobs(n_samples=750, centers=centers, cluster_std=0.4)

使用 X = my_own_data,因此我可以将自己的数据用于 DBSCAN。

现在,变量 labels_truemake_blobs 的第二个返回参数,用于计算结果的一些值,如下所示:

print "Homogeneity: %0.3f" % metrics.homogeneity_score(labels_true, labels)
print "Completeness: %0.3f" % metrics.completeness_score(labels_true, labels)
print "V-measure: %0.3f" % metrics.v_measure_score(labels_true, labels)
print "Adjusted Rand Index: %0.3f" % \
    metrics.adjusted_rand_score(labels_true, labels)
print "Adjusted Mutual Information: %0.3f" % \
    metrics.adjusted_mutual_info_score(labels_true, labels)
print ("Silhouette Coefficient: %0.3f" %
       metrics.silhouette_score(D, labels, metric='precomputed'))

如何从我的数据 X 中计算出 labels_true?在这种情况下,scikit 对 label 到底意味着什么?

感谢您的帮助!

最佳答案

labels_true 是点到标签的“真实”分配:它们实际上应该属于哪个集群。这是可用的,因为 make_blobs知道它从哪个“blob”生成了点。

你不能为你自己的任意数据 X 得到它,除非你有某种真正的点标签(在这种情况下你无论如何都不会进行聚类)。这只是显示了在您知道真实答案的假案例中聚类的执行情况的一些度量。

关于python - 使用 python 和 scikit-learn 的 DBSCAN : What exactly are the integer labes returned by make_blobs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15819103/

相关文章:

python - python中的udp速率限制?

python - 在 Sklearn 中使用稀疏矩阵会使算法变慢还是变快?

python - 反向标签编码给出错误

machine-learning - 尝试MOA流聚类算法denstream.WithDBSCAN时出现java.lang.NullPointerException(如何正确使用它?)

cluster-analysis - ELKI 数据库扫描示例

r - 如何确定 R 中 DBSCAN 的距离/eps?

python - 无法在 Android 上的 pygame 中打开图像

python - 使用Vue + Django模板语言时如何解决双花括号问题?

python - 为什么 Django-Simple-Captcha 图像扭曲?

python - 使用 SHAP 值解释 LogisticRegression 分类