9

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)

X = my_own_data、DBSCAN に独自のデータを使用できます。

labels_trueここで、の 2 番目に返される引数である変数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'))

labels_trueデータからどのように計算できますXか? この場合、scikit は正確には何を意味するlabelのでしょうか?

ご協力いただきありがとうございます!

4

1 に答える 1

12

labels_trueは、ラベルへのポイントの「真の」割り当てです。つまり、それらが実際に属すべきクラスターです。これは、make_blobsどの「ブロブ」からポイントを生成したかを知っているために利用できます。

Xポイントに何らかの真のラベルがない限り、独自の任意のデータに対してそれを取得することはできません(その場合、とにかくクラスタリングを行うことはありません)。これは、真の答えがわかっている偽のケースで、クラスタリングがどの程度うまく機能したかを示すいくつかの尺度を示しています。

于 2013-04-04T18:45:01.517 に答える