Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

K-Means और DBSCAN में क्या अंतर है?

K-Means

K-Means क्लस्टरिंग एक पार्टीशनिंग एल्गोरिदम है। K-Means डेटासेट में प्रत्येक डेटा को नवनिर्मित क्लस्टर्स में से केवल एक को पुनः असाइन करता है। एक डेटा या डेटा पॉइंट को दूरी या समानता के माप का उपयोग करके निकटतम क्लस्टर को असाइन किया जाता है।

K-Means में, एक ऑब्जेक्ट को निकटतम केंद्र को उत्पन्न किया जाता है। यह कैननॉट-लिंक प्रतिबंधों को परिभाषित कर सकता है, और यह K-Means में केंद्र असाइनमेंट प्रक्रिया को निकटतम लागू केंद्र असाइनमेंट में संशोधित करता है।

जब ऑब्जेक्ट्स को क्रम में केंद्रों को असाइन किया जाता है, तो प्रत्येक चरण में यह सुनिश्चित किया जा सकता है कि अब तक के असाइनमेंट किसी भी कैननॉट-लिंक प्रतिबंधों का उल्लंघन नहीं करते। एक ऑब्जेक्ट को निकटतम केंद्र को असाइन किया जाता है इसलिए असाइनमेंट कुछ कैननॉट-लिंक प्रतिबंधों का सम्मान करता है।

DBSCAN

DBSCAN का अर्थ है Density-Based Spatial Clustering of Applications with Noise। यह एक घनत्व-आधारित क्लस्टरिंग एल्गोरिदम है। एल्गोरिदम पर्याप्त उच्च घनत्व वाले क्षेत्रों को क्लस्टर्स में विकसित करता है और शोर के साथ स्थानिक डेटाबेस में मनमाने ढांचे के क्लस्टर्स की खोज करता है। यह एक क्लस्टर को घनत्व-जुड़े पॉइंट्स के अधिकतम समूह के रूप में परिभाषित करता है।

एक घनत्व-आधारित क्लस्टर घनत्व-जुड़े ऑब्जेक्ट्स का एक समूह है जो घनत्व-पहुंच के संबंध में अधिकतम है। किसी भी क्लस्टर में निहित प्रत्येक ऑब्जेक्ट को शोर माना जाता है।

DBSCAN डेटाबेस में प्रत्येक पॉइंट के ε-पड़ोस की जांच करके क्लस्टर्स की जांच करता है। यदि एक पॉइंट p के ε-पड़ोस में MinPts से अधिक पॉइंट्स हैं, तो p को कोर तत्व के रूप में एक नया क्लस्टर बनाया जाता है। DBSCAN इन कोर तत्वों से पुनरावृत्त रूप से ठीक घनत्व-पहुंच योग्य ऑब्जेक्ट्स को इकट्ठा करता है, जिसमें कुछ घनत्व-पहुंच योग्य क्लस्टर्स का विलय शामिल हो सकता है। प्रक्रिया तब समाप्त होती है जब किसी भी क्लस्टर में कोई नया पॉइंट नहीं जोड़ा जा सकता।

K-Means और DBSCAN की तुलना

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

    डायरेक्टएक्स एपीआई का एक संग्रह है, या एप्लिकेशन प्रोग्रामिंग इंटरफेस, जिसका उपयोग सॉफ्टवेयर द्वारा मल्टीमीडिया सामग्री को रेंडर करने और ग्राफिकल हार्डवेयर के साथ संचार करने के लिए किया जाता है। डायरेक्टएक्स का प्रमुख घटक एपीआई, डायरेक्ट3डी, सॉफ्टवेयर और ग्राफिक्स हार्डवेयर के बीच संचार को संभालता ह

  1. - C# में | और || ऑपरेटर्स के बीच अंतर क्या है?

    | Operator | ऑपरेटर अपने ऑपरेंड्स का लॉजिकल OR कंप्यूट करता है। x | y का परिणाम true होता है यदि x या y में से कोई भी true मूल्यांकन करता है। अन्यथा, परिणाम false होता है। | ऑपरेटर दोनों ऑपरेंड्स का मूल्यांकन करता है भले ही बायां ऑपरेंड true मूल्यांकन करता हो, ताकि ऑपरेशन का परिणाम दाएं ऑपरेंड के म

  1. - C# में | और || ऑपरेटर्स में क्या अंतर है?

    || को लॉजिकल OR ऑपरेटर कहा जाता है और | को बिटवाइज़ लॉजिकल OR कहा जाता है, लेकिन उनके बीच मूल अंतर उनके निष्पादन के तरीके में है। सिंटैक्स तुलना // लॉजिकल OR (शॉर्ट-सर्किट) bool_exp1 || bool_exp2 // बिटवाइज़ OR (नॉन-शॉर्ट-सर्किट) bool_exp1 | bool_exp2 सिंटैक्स समान दिखता है लेकिन निष्पादन पूरी तर