使用python和scikit-learn的DBSCAN:make_blobs返回的整数实验是什么?

otm*_*ger 7 python dbscan scikit-learn

我试图理解scikit实现的DBSCAN算法的例子(http://scikit-learn.org/0.13/auto_examples/cluster/plot_dbscan.html).

我换了线

X, labels_true = make_blobs(n_samples=750, centers=centers, cluster_std=0.4)
Run Code Online (Sandbox Code Playgroud)

X = my_own_data,所以我可以使用我自己的数据为DBSCAN.

现在,变量labels_true,即第二个返回的参数make_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'))
Run Code Online (Sandbox Code Playgroud)

我怎样才能labels_true从我的数据中计算出来X?scikit到底是什么意思label

谢谢你的帮助!

Dou*_*gal 11

labels_true是标签点的"真实"分配:它们应该属于哪个集群.这是可用的,因为make_blobs知道它产生点的"blob".

你不能为你自己的任意数据得到它X,除非你有点某种真正的标签(在这种情况下你不会做任何聚类).这只是显示了一些衡量聚类在假情况下执行情况的方法,在这种情况下你知道真正的答案.