K-मीन्स एल्गोरिदम के विभिन्न मुद्दे हैं जो निम्नलिखित हैं:
खाली क्लस्टर्स को संभालना - मूल K-मीन्स एल्गोरिदम के साथ पहला मुद्दा यह है कि यदि असाइनमेंट चरण के दौरान किसी क्लस्टर को कोई पॉइंट्स आवंटित नहीं किए जाते हैं तो खाली क्लस्टर्स प्राप्त हो सकते हैं। यदि ऐसा होता है, तो एक प्रतिस्थापन सेंट्रॉयड चुनने की विधि की आवश्यकता होती है, क्योंकि वर्ग त्रुटि आवश्यकता से अधिक बड़ी होगी।
एक विधि उस बिंदु का चयन करना है जो किसी हालिया सेंट्रॉयड से सबसे दूर है। यदि यह उस बिंदु को हटा देता है जो वर्तमान में कुल वर्ग त्रुटि में कुछ योगदान देता है। दूसरी विधि उस क्लस्टर से प्रतिस्थापन सेंट्रॉयड का चयन करना है जिसमें सबसे बड़ा SSE है। यह आमतौर पर क्लस्टर को विभाजित करेगा और क्लस्टरिंग के कुल SSE को कम करेगा। यदि कई खाली क्लस्टर्स हैं, तो इस प्रक्रिया को कई बार दोहराया जा सकता है।
आउटलेयर्स - जब वर्ग त्रुटि विधि का उपयोग किया जाता है, तो आउटलेयर्स अनुचित रूप से खोजे गए क्लस्टर्स को प्रभावित कर सकते हैं। विशेष रूप से, जब आउटलेयर्स मौजूद होते हैं, तो परिणामी क्लस्टर सेंट्रॉयड्स (प्रोटोटाइप्स) उतने प्रतिनिधि नहीं हो सकते जितने वे हो सकते हैं, और इस प्रकार, SSE भी अधिक होगा।
आउटलेयर्स को पहले से ढूंढना और हटाना फायदेमंद है। यह सराहना करना आवश्यक है कि विशिष्ट क्लस्टरिंग एप्लिकेशन हैं जिनके लिए आउटलेयर्स को नहीं हटाया जाना चाहिए। जब क्लस्टरिंग का उपयोग डेटा संपीड़न के लिए किया जाता है, तो प्रत्येक बिंदु को क्लस्टर किया जाना चाहिए, और कुछ मामलों में, वित्तीय विश्लेषण सहित, संभावित आउटलेयर्स, जैसे असामान्य रूप से लाभदायक उपयोगकर्ता, दिलचस्प बिंदु हो सकते हैं।
पोस्टप्रोसेसिंग के साथ SSE को कम करना - SSE को कम करने का तरीका अधिक क्लस्टर्स ढूंढना है, यानी एक बड़ा K उपयोग करना। ऐसे मामलों में, SSE में सुधार करना संभव है, लेकिन क्लस्टर्स की संख्या बढ़ाने की आवश्यकता नहीं है। यह संभव है क्योंकि K-मीन्स आमतौर पर एक स्थानीय न्यूनतम पर अभिसरण करता है।
परिणामी क्लस्टर्स को "ठीक" करने के लिए विभिन्न विधियों का उपयोग किया जाता है ताकि एक क्लस्टरिंग बनाई जा सके जिसमें कम SSE हो। विधि व्यक्तिगत क्लस्टर्स पर ध्यान केंद्रित करना है क्योंकि कुल SSE केवल प्रत्येक क्लस्टर द्वारा योगदान किए गए SSE का योग है। क्लस्टर्स पर कई ऑपरेशन्स लागू करके कुल SSE को बदला जा सकता है, जिसमें क्लस्टर्स को विभाजित या मर्ज करना शामिल है।
एक विधि वैकल्पिक क्लस्टर विभाजन और विलय प्रक्रिया का उपयोग करना है। विभाजन प्रक्रिया के दौरान, क्लस्टर्स विभाजित होते हैं, जबकि विलय प्रक्रिया के दौरान, क्लस्टर्स संयुक्त होते हैं। इस विधि में, स्थानीय SSE न्यूनतम से बचना और जब्त क्लस्टर्स की संख्या के साथ क्लस्टरिंग समाधान बनाना संभव है। विभाजन और विलय चरणों में उपयोग की जाने वाली कुछ विधियां निम्नलिखित हैं: