問題

私は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に独自のデータを使用できます。

さて、make_blobsの2番目の引数である変数labels_trueは、次のように結果のいくつかの値を計算するために使用されます。

 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に対してそれを得ることはできません(その場合、とにかくクラスタリングをしません)。これは、あなたが真の答えを知っている偽のケースで実行されたクラスタリングがどれほどうまくいくかを示しています。

  同じタグがついた質問を見る

pythonscikit-learndbscan