2012-10-17 20 views
5

हम आइटम (और बाद के उपयोगकर्ताओं) के बीच समानता खोजने की कोशिश कर रहे हैं जहां आइटम उपयोगकर्ताओं द्वारा विभिन्न सूचियों में रैंक किए जाते हैं (Hi Fidelity में रॉब, बैरी और डिक सोचें)। किसी दिए गए सूची में निचली अनुक्रमणिका एक उच्च रेटिंग का तात्पर्य है।सूची-रैंकिंग आइटमों के लिए सबसे प्रभावी समानता माप

मुझे लगता है कि एक मानक दृष्टिकोण पियरसन सहसंबंध का उपयोग करना होगा और फिर इंडेक्स को किसी भी तरह से उलटा करना होगा।

हालांकि, जैसा कि मैं इसे समझता हूं, पियरसन सहसंबंध का उद्देश्य उन उपयोगकर्ताओं के बीच मतभेदों की भरपाई करना है जो आमतौर पर चीजों को उच्च या निम्न रेट करते हैं लेकिन समान सापेक्ष रेटिंग रखते हैं।

ऐसा लगता है कि यदि सूचियां निरंतर हैं (हालांकि मनमानी लंबाई के बावजूद) यह कोई मुद्दा नहीं है कि स्थिति से निहित रेटिंग इस तरह से कम हो जाएगी।

मुझे लगता है कि इस मामले में यूक्लिडियन आधारित समानता पर्याप्त होगी। क्या यह मामला है? क्या पियरसन सहसंबंध का उपयोग नकारात्मक प्रभाव पड़ता है और सहसंबंध ढूंढता है जो उपयुक्त नहीं है? इस डेटा के अनुरूप सबसे समानता उपाय क्या हो सकता है?

इसके अतिरिक्त जब हम सूची में स्थिति चाहते हैं तो हम रैंकिंग को दंडित नहीं करना चाहते हैं जो बहुत दूर हैं। दो अलग-अलग रैंकिंग वाली सूची में एक आइटम की विशेषता वाले दो उपयोगकर्ता को अभी भी समान माना जाना चाहिए।

उत्तर

3

Jaccard Similarity आपके मामले में बेहतर दिखता है। आपके द्वारा वर्णित रैंक को शामिल करने के लिए, आप बैग-ऑफ-आइटम दृष्टिकोण ले सकते हैं।

उनकी रेटिंग जा रहा है (3,2,1) के साथ (Rob, Barry, Dick) के अपने उदाहरण का उपयोग क्रमशः, तो आप इस उपयोगकर्ता a के बैग में Rob 3 बार सम्मिलित करें।

Rob, Rob, Rob. 

फिर Barry के लिए, आप इसे दो बार करते हैं। वर्तमान बैग नीचे की तरह दिखता है,

Rob, Rob, Rob, Barry, Barry. 

आप अंत में बैग में Dick डाल दिया।

Rob, Rob, Rob, Barry, Barry, Dick 

किसी अन्य उपयोगकर्ता b मान लीजिए [Dick, Dick, Barry] का एक बैग है, तो आप के रूप में नीचे Jaccard समानता की गणना:

  • a और b = [Dick, Barry]
  • a और b = [Rob, Rob, Rob, Barry, Barry, Dick, Dick] के मिलन के बीच चौराहे
  • जैककार्ड समानता = 2/7,

जो कि संघ में वस्तुओं की संख्या से विभाजित चौराहे में वस्तुओं की संख्या है।

यह समानता माप रैंकिंग रैंकिंग रैंकिंग है जो बहुत दूर हैं। आप देख सकते हैं कि:

दो उपयोगकर्ता दोनों अलग-अलग रैंकिंग वाली सूची में किसी आइटम की विशेषता रखते हैं, फिर भी समान माना जाना चाहिए।

1

रैंकिंग पर आधारित सबसे प्रसिद्ध समानता मीट्रिक Spearman's correlation है। यह पहले आइटम में "1", दूसरे को "2" असाइन करता है और इसी तरह (पियरसन) सहसंबंध गुणांक की गणना करता है और गणना करता है। (आप मूल्यों को भी अवरुद्ध कर सकते हैं, जो अधिक सहज है - पियरसन के सहसंबंध से कोई फर्क नहीं पड़ता।)

स्पीरमैन का सहसंबंध परियोजना में लागू किया गया है, लेकिन, मैंने कहा कि मुझे नहीं लगता कि यह बहुत उपयोगी है।

Tau rank कितना रैंकिंग सूचियों का मिलान करता है, इसका एक और सिद्धांत है, लेकिन यह लागू नहीं किया गया है। यह मुश्किल नहीं होगा।

+0

मैं ताऊ रैंक से चिंतित हूं। यह सही प्रतीत होता है लेकिन मैं इसकी जटिलता के बारे में चिंतित हूं। क्योंकि आपको वस्तुओं की सभी संभावित जोड़ी की तुलना करना है, प्रति उपयोगकर्ता जोड़ी करने के लिए बहुत अधिक काम है। शायद यह घनत्व डेटा सेट में पीड़ित होगा? –

+0

प्रत्येक उपयोगकर्ता की शीर्ष रेटिंग में केवल आइटम को ध्यान में रखते हुए, या यादृच्छिक रूप से जोड़ों की मामूली संख्या का नमूनाकरण करना, उचित अनुमान तुरंत देना चाहिए। मेरे पास इस मीट्रिक के साथ कोई अनुभव नहीं है, बस मेरे अनुमान हैं। –