2013-04-04 4 views
7

मैं विज्ञानकिट (http://scikit-learn.org/0.13/auto_examples/cluster/plot_dbscan.html) द्वारा लागू डीबीएससीएएन एल्गोरिदम के उदाहरण को समझने की कोशिश कर रहा हूं।पाइथन और विज्ञान-सीखने के साथ डीबीएससीएएन: make_blobs द्वारा लौटाई गई पूर्णांक लेबल वास्तव में क्या हैं?

मैं X = my_own_data के साथ लाइन

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

बदल गया है, तो मैं 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')) 

मैं अपने डेटा X से labels_true गणना कैसे कर सकते हैं? इस मामले पर label के साथ विज्ञान का क्या अर्थ है?

आपकी मदद के लिए धन्यवाद!

उत्तर

11

labels_true लेबल के लिए बिंदुओं का "सत्य" असाइनमेंट है: वास्तव में कौन सा क्लस्टर होना चाहिए। यह उपलब्ध है क्योंकि make_blobs जानता है कि किस "ब्लॉब" ने पॉइंट उत्पन्न किया है।

आप इसे अपने मनमाने ढंग से डेटा X के लिए नहीं प्राप्त कर सकते हैं, जब तक कि आपके पास अंक के लिए कुछ प्रकार के वास्तविक लेबल न हों (इस मामले में आप वैसे भी क्लस्टरिंग नहीं कर रहे हैं)। यह सिर्फ कुछ उपाय दिखाता है कि फर्जी मामले में क्लस्टरिंग कितनी अच्छी तरह से प्रदर्शन करती है जहां आप सही जवाब जानते हैं।

+0

धन्यवाद और मेरी मूर्खता के लिए खेद है :-) – otmezger

+3

अच्छा जवाब और एक बेवकूफ सवाल नहीं;) –

+0

तो इन पंक्तियों पर टिप्पणी करें और उदाहरण चलता है। #Print ("समरूपता:% 0.3f"% metrics.homogeneity_score (labels_true, लेबल)) #Print ("पूर्णता:% 0.3f"% metrics.completeness_score (labels_true, लेबल)) #Print ("वी उपाय:% 0.3f "% metrics.v_measure_score (labels_true, लेबल)) #Print (" समायोजित रैंड सूचकांक:% 0.3f " #% metrics.adjusted_rand_score (labels_true, लेबल)) #Print (" समायोजित म्युचुअल जानकारी: % 0.3f " #% metrics.adjusted_mutual_info_score (labels_true, लेबल)) – intotecho

संबंधित मुद्दे