खोज…


परिचय

stats पैकेज पदानुक्रमित क्लस्टरिंग करने के लिए hclust फ़ंक्शन प्रदान करता है।

टिप्पणियों

हिस्टस्ट के अलावा, अन्य तरीके उपलब्ध हैं, क्लस्टरिंग पर सीआरएएन पैकेज व्यू देखें

उदाहरण 1 - हिस्टस्ट का मूल उपयोग, डेंड्रोग्राम का प्रदर्शन, प्लॉट क्लस्टर

क्लस्टर लाइब्रेरी में रस्सिनी डेटा होता है - उदाहरण के लिए क्लस्टर विश्लेषण के लिए डेटा का एक मानक सेट।

    library(cluster)                ## to get the ruspini data
    plot(ruspini, asp=1, pch=20)    ## take a look at the data

Ruspini डेटा

hclust एक दूरस्थ मैट्रिक्स की अपेक्षा करता है, मूल डेटा की नहीं। हम डिफ़ॉल्ट मापदंडों का उपयोग करके पेड़ की गणना करते हैं और इसे प्रदर्शित करते हैं। हैंग पैरामीटर पैरामीटर को आधार रेखा के साथ पेड़ की सभी पत्तियों तक बढ़ाता है।

    ruspini_hc_defaults <- hclust(dist(ruspini))
    dend <- as.dendrogram(ruspini_hc_defaults)
    if(!require(dendextend)) install.packages("dendextend"); library(dendextend)
    dend <- color_branches(dend, k = 4) 
    plot(dend)

यहाँ छवि विवरण दर्ज करें

चार क्लस्टर देने के लिए पेड़ को काटें और क्लस्टर द्वारा बिंदुओं को रंग देने वाले डेटा को दोहराएं। k क्लस्टर्स की वांछित संख्या है।

    rhc_def_4 = cutree(ruspini_hc_defaults,k=4)
    plot(ruspini, pch=20, asp=1, col=rhc_def_4)

रपसिनी डेटा - पहली क्लस्टरिंग

यह क्लस्टरिंग थोड़ी विषम है। हम पहले डेटा को स्केल करके एक बेहतर क्लस्टरिंग प्राप्त कर सकते हैं।

    scaled_ruspini_hc_defaults = hclust(dist(scale(ruspini)))
    srhc_def_4 = cutree(scaled_ruspini_hc_defaults,4)
    plot(ruspini, pch=20, asp=1, col=srhc_def_4)

स्केल्ड रोसिनी डेटा - क्लस्टर किया गया

क्लस्टर की तुलना करने के लिए डिफ़ॉल्ट असमानता उपाय "पूर्ण" है। आप विधि पैरामीटर के साथ एक अलग माप निर्दिष्ट कर सकते हैं।

    ruspini_hc_single = hclust(dist(ruspini), method="single")

उदाहरण 2 - hclust और outliers

पदानुक्रमित क्लस्टरिंग के साथ, आउटलेयर अक्सर एक-बिंदु क्लस्टर के रूप में दिखाई देते हैं।

आउटलेर्स के प्रभाव को स्पष्ट करने के लिए तीन गाऊसी वितरण उत्पन्न करें।

    set.seed(656)
    x = c(rnorm(150, 0, 1), rnorm(150,9,1), rnorm(150,4.5,1))
    y = c(rnorm(150, 0, 1), rnorm(150,0,1), rnorm(150,5,1))
    XYdf = data.frame(x,y)
    plot(XYdf, pch=20)

परीक्षण डेटा

क्लस्टर संरचना बनाएँ, इसे तीन क्लस्टर में विभाजित करें।

    XY_sing = hclust(dist(XYdf), method="single")
    XYs3 = cutree(XY_sing,k=3)
    table(XYs3)
    XYs3
      1   2   3 
    448   1   1 

hclust ने दो आउटलेयर पाए और बाकी सब कुछ एक बड़े क्लस्टर में डाल दिया। "वास्तविक" क्लस्टर प्राप्त करने के लिए, आपको k को उच्चतर सेट करने की आवश्यकता हो सकती है।

    XYs6 = cutree(XY_sing,k=6)
    table(XYs6)
    XYs6
      1   2   3   4   5   6 
    148 150   1 149   1   1 
    plot(XYdf, pch=20, col=XYs6)

टेस्ट डेटा क्लस्टर्ड - 3 आउटलेर और 3 बड़े क्लस्टर

इस StackOverflow पोस्ट में गुच्छों की संख्या को चुनने के बारे में कुछ मार्गदर्शन है, लेकिन पदानुक्रमिक क्लस्टरिंग में इस व्यवहार के बारे में पता होना चाहिए।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow