चमेलियन एक हायरार्किकल क्लस्टरिंग एल्गोरिदम है जो क्लस्टर के जोड़े के बीच समानता तय करने के लिए डायनामिक मॉडलिंग का उपयोग करता है। इसे दो हायरार्किकल क्लस्टरिंग एल्गोरिदम जैसे ROCK और CURE की देखी गई कमजोरियों के आधार पर बदला गया था।
ROCK और संबंधित डिजाइन क्लस्टर इंटरकनेक्टिविटी पर जोर देते हुए क्लस्टर निकटता के बारे में डेटा की उपेक्षा करते हैं। CURE और संबंधित डिजाइन क्लस्टर निकटता पर विचार करते हैं फिर भी क्लस्टर इंटरकनेक्टिविटी की उपेक्षा करते हैं। चमेलियन में, क्लस्टर समानता का आकलन इस बात पर निर्भर करता है कि क्लस्टर के अंदर ऑब्जेक्ट कितने अच्छी तरह से जुड़े हुए हैं और क्लस्टर की निकटता पर। विशेष रूप से, दो क्लस्टर को जोड़ा जाता है यदि उनकी इंटरकनेक्टिविटी उच्च है और वे एक साथ करीब हैं।
यह एक स्थिर, उपयोगकर्ता-आपूर्ति मॉडल पर आधारित नहीं है और संयुक्त किए जा रहे क्लस्टर की आंतरिक विशेषताओं के लिए स्वचालित रूप से अनुकूलित हो सकता है। मर्ज प्रक्रिया प्राकृतिक और सजातीय क्लस्टर की खोज का समर्थन करती है और सभी प्रकार के डेटा के लिए उपयोग की जाती है बशर्ते एक समानता फ़ंक्शन परिभाषित किया जा सके।
चमेलियन को k-निकटतम-पड़ोसी ग्राफ तकनीक की आवश्यकता होती है ताकि एक विरल ग्राफ बनाया जा सके, जहां ग्राफ का प्रत्येक वर्टेक्स एक डेटा ऑब्जेक्ट को परिभाषित करता है, और दो वर्टेक्स (ऑब्जेक्ट) के बीच एक एज मौजूद होती है यदि एक ऑब्जेक्ट दूसरे के k-सबसे-समान ऑब्जेक्ट के बीच है। एज को ऑब्जेक्ट के बीच समानता को प्रतिबिंबित करने के लिए भारित किया जाता है।
चमेलियन k-निकटतम-पड़ोसी ग्राफ को बड़ी संख्या में अपेक्षाकृत छोटे सबक्लस्टर में विभाजित करने के लिए ग्राफ पार्टीशनिंग एल्गोरिदम का उपयोग करता है। यह एक एग्लोमरेटिव हायरार्किकल क्लस्टरिंग एल्गोरिदम का उपयोग करता है जो उनकी समानता के आधार पर सबक्लस्टर को बार-बार मर्ज करता है। यह सबक्लस्टर के सबसे समान जोड़े को निर्धारित करता है, यह इंटरकनेक्टिविटी के साथ-साथ क्लस्टर की निकटता दोनों को ध्यान में रखता है।
k-निकटतम-पड़ोसी ग्राफ पड़ोस के दृष्टिकोण को डायनामिक रूप से कैप्चर करता है: एक ऑब्जेक्ट का पड़ोस त्रिज्या उस क्षेत्र के घनत्व द्वारा तय की जाती है जिसमें ऑब्जेक्ट रहता है। घने क्षेत्र में, पड़ोस को संकीर्ण रूप से दर्शाया जाता है। विरल क्षेत्र में, इसे अधिक व्यापक रूप से दर्शाया जाता है।
यह प्रभाव अधिक प्राकृतिक क्लस्टर में परिणाम देता है, DBSCAN जैसे डेंसिटी-बेस्ड मेथड की तुलना में जो इसके बजाय एक वैश्विक पड़ोस का उपयोग करते हैं। इसके अलावा, क्षेत्र का घनत्व एज के वजन के रूप में दर्ज किया जाता है। विशेष रूप से, घने क्षेत्र के एज विरल क्षेत्र की तुलना में अधिक वजन रखते हैं।
ग्राफ-पार्टीशनिंग एल्गोरिदम k-निकटतम-पड़ोसी ग्राफ को इस तरह विभाजित करता है कि यह एज कट को छोटा बनाता है। अर्थात्, क्लस्टर C को सब-क्लस्टर Cᵢ और Cⱼ में विभाजित किया जाता है ताकि उन एज के वजन को कम किया जा सके जिन्हें काटा जा सके यदि C को Cᵢ और Cⱼ में विभाजित किया जाए। एज कट को EC(Cᵢ, Cⱼ) द्वारा इंगित किया जाता है और क्लस्टर Cᵢ और Cⱼ के बीच पूर्ण इंटरकनेक्टिविटी निर्धारित करता है।