दो उदाहरणों के बीच समानता का हिसाब लगाने के लिए, आपको उन दो उदाहरणों के पूरे डेटा को एक संख्या वाले मान में जोड़ना होगा.
उदाहरण के लिए, जूतों के डेटा को सिर्फ़ एक ही सुविधा के साथ सेट करें: जूते का साइज़. दो साइज़ के जूतों के साइज़ के बीच का अंतर पता करके, यह समझा जा सकता है कि मिलते-जुलते दो जूते कैसे होते हैं. साइज़ के बीच अंकों वाला अंतर जितना छोटा होगा, जूतों के बीच उतना ही ज़्यादा अंतर होगा. इस तरह के हैंडक्राफ़्ट की माप को मैन्युअल रूप से मिलान करने की माप कहा जाता है.
क्या होगा अगर आप साइज़ और रंग, दोनों का इस्तेमाल करके जूतों के बीच समानताएं ढूंढना चाहते हैं? रंग कैटगरी का डेटा होता है. साथ ही, इसे अंकों वाले साइज़ के डेटा के साथ जोड़ना मुश्किल होता है. हम देखेंगे कि जैसे-जैसे डेटा को समझना मुश्किल होता जा रहा है, वैसे-वैसे मैन्युअल तौर पर मिलते-जुलते वीडियो का मेज़रमेंट करना मुश्किल हो जाता है. जब आपका डेटा काफ़ी जटिल हो जाएगा, तो आप मैन्युअल मेज़रमेंट नहीं कर पाएंगे. ऐसा तब होता है, जब आप निगरानी में रखे गए मिलते-जुलते डिवाइस पर स्विच करते हैं, जहां निगरानी में रखा गया मशीन लर्निंग मॉडल, समानता का हिसाब लगाता है.
हम बाद में निगरानी के लिए, समानता का आकलन करने की सुविधा का इस्तेमाल नहीं करेंगे. साथ ही, यहां मैन्युअल तरीके से की गई माप पर फ़ोकस करेंगे. फ़िलहाल, याद रखें कि जब आपको कोई मिलता-जुलता समान व्यवहार बनाने में समस्या हो, तो आप निगरानी में रखे गए, मिलते-जुलते डिवाइस का इस्तेमाल करें.
मैन्युअल रूप से समान माप के काम करने का तरीका समझने के लिए, आइए जूतों के हमारे उदाहरण को देखें. मान लें कि मॉडल में दो सुविधाएं हैं: जूतों का साइज़ और जूतों की कीमत का डेटा. दोनों सुविधाएं संख्या में होती हैं, इसलिए आप उन्हें समान रूप से दिखाने वाले किसी एक नंबर में जोड़ सकते हैं.
- साइज़: जूते का साइज़ शायद गॉसियन डिस्ट्रिब्यूशन के तौर पर होता है. इसकी पुष्टि करें. फिर डेटा को सामान्य बनाएं.
- कीमत (p): डेटा शायद पॉइसन डिस्ट्रिब्यूशन है. इसकी पुष्टि करें. अगर आपके पास ज़रूरत के मुताबिक डेटा है, तो डेटा को क्वानटाइल में बदलें और \([0,1]\)के हिसाब से स्केल करें.
- रूट मीन स्क्वेयर गड़बड़ी (आरएमएसई) का इस्तेमाल करके डेटा को मिलाएं. यहां देखें कि \(\sqrt{\frac{s^2+p^2}{2}}\)कितने मिलते-जुलते हैं.
आसान उदाहरण के लिए, मान लें कि अमेरिका के 8 और 11 साइज़ वाले दो जूतों के बीच समानता है और 120 और 150 कीमतें हैं. हालांकि, हमारे पास डिस्ट्रिब्यूशन को समझने के लिए ज़रूरत के मुताबिक डेटा नहीं है, इसलिए हम बिना आंकड़ों को सामान्य या इस्तेमाल किए डेटा को स्केल करेंगे.
कार्रवाई | तरीका |
---|---|
साइज़ बढ़ाएं. | मान लें कि जूतों के साइज़ की सीमा ज़्यादा से ज़्यादा 20 हो. 8 और 11 को ज़्यादा से ज़्यादा 20 से भाग दें और 0.4 और 0.55 पाएं. |
कीमत बढ़ाएं. | ज़्यादा से ज़्यादा 120 और 150 को 0.8 और 1 से गुणा करने पर मिलने वाली ज़्यादा से ज़्यादा कीमत 150 से भाग करें. |
साइज़ में अंतर देखें. | \(0.55 - 0.4 = 0.15\) |
कीमत में अंतर देखें. | \(1 - 0.8 = 0.2\) |
आरएमएसई ढूंढें. | \(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\) |
सुविधा से डेटा का मिलान होने पर, मापी गई समानता को बढ़ाना चाहिए. इसके बजाय, आपकी मेज़र की गई समानता असल में घट जाती है. अपनी मेज़रमेंट की माप को 1 से घटाएं और अपने मन की समझ को फ़ॉलो करें.
\[\text{Similarity} = 1 - 0.17 = 0.83\]
आम तौर पर, डेटा तैयार करें में बताए गए तरीके से, न्यूमेरिक डेटा तैयार किया जा सकता है. इसके बाद, यूकलिडियन डिस्टेंस का इस्तेमाल करके, डेटा को जोड़ा जा सकता है.
अगर आपके पास कैटगरी वाला डेटा है, तो क्या होगा? व्यवस्थित डेटा इनमें से कोई एक हो सकता है:
- एक मान वाली (यूनिवल), जैसे कि कार का रंग ("सफ़ेद" या "नीला", लेकिन कभी नहीं)
- कई वैल्यू की वैल्यू, जैसे कि किसी फ़िल्म की शैली (जैसे, "कार्रवाई" और "कॉमेडी" या सिर्फ़ "कार्रवाई")
अगर एक जैसे डेटा का मिलान होता है, तो दोनों में अंतर एक जैसा होता है, नहीं तो शून्य होता है. मल्टीवैलेंट डेटा को हल करना मुश्किल होता है. उदाहरण के लिए, मूवी की शैली के साथ काम करना एक चुनौती हो सकती है. इस समस्या को हल करने के लिए, मान लीजिए कि फ़िल्मों को एक तय शैली के शैलियां असाइन की जाती हैं. सामान्य वैल्यू के अनुपात का इस्तेमाल करके, मिलते-जुलते नतीजे का पता लगाएं, जिसे Jaccard की समानता कहा जाता है.
उदाहरण:
- [“कॉमेडी”, “कार्रवाई”] और [“कॉमेडी”, कार्रवाई]] = 1
- [“कॉमेडी”, “कार्रवाई”] और [“कार्रवाई”] = 1⁄2
- [“कॉमेडी”, “कार्रवाई”] और [“कार्रवाई”, “ड्रामा”] = 1⁄3
- [“कॉमेडी”, “कार्रवाई”] और [“नॉन-फ़िक्शन”, जीवनी”] = 0
नीचे दी गई टेबल में, कैटगरी डेटा की मदद से जुड़े कुछ और उदाहरण दिए गए हैं.
उदाहरण | |
---|---|
पिन कोड | जो इलाके एक-दूसरे से मिलते-जुलते हैं उनके पिन कोड में ज़्यादा समानता होनी चाहिए. इस समानता का सटीक हिसाब लगाने के लिए ज़रूरी जानकारी को कोड में बदलने के लिए, आप पिन कोड को अक्षांश और देशांतर में बदल सकते हैं. पिन कोड के एक जोड़े के लिए, उनके अक्षांश और देशांतर के बीच के अंतर का अलग से हिसाब लगाएं. फिर एक संख्या वाली वैल्यू पाने के लिए अंतर जोड़ें. |
रंग | मान लें कि आपके पास टेक्स्ट के तौर पर कलर डेटा है. टेक्स्ट वाली वैल्यू को अंकों में आरजीबी वैल्यू में बदलें. अब आप दो रंगों के लिए, लाल, हरे, और नीले रंग के मानों में अंतर देख सकते हैं. साथ ही, यूकलैंडियन दूरी का इस्तेमाल करके, अंतर को अंकों वाली वैल्यू में जोड़ सकते हैं. |
आम तौर पर, यह ज़रूरी है कि आपकी समानता का आकलन सीधे तौर पर असली रूप से किया जाए. अगर आपका मेट्रिक ऐसा नहीं करता है, तो इसका मतलब है कि यह ज़रूरी जानकारी को कोड में नहीं बदल रहा है. पिछले उदाहरण में, पिन कोड को अक्षांश और देशांतर में बदला गया था. ऐसा इसलिए, क्योंकि पिन कोड की जानकारी ने ज़रूरी जानकारी को कोड में नहीं बदला था.
अपना समानता माप बनाने से पहले, अपने डेटा को ध्यान से प्रोसेस करें. हालांकि, इस पेज पर दिए गए उदाहरणों में छोटे और आसान डेटा सेट पर निर्भर किया गया है, हालांकि, ज़्यादातर असल डेटा सेट बहुत बड़े और बहुत जटिल होते हैं. याद रखें कि संख्या वाले डेटा को प्रोसेस करने के लिए, क्वानटाइल डिफ़ॉल्ट तौर पर एक अच्छा विकल्प हैं.