एक सिफारिश प्रणाली इस बात का एक लॉग रखती है कि किसी विशेष उपयोगकर्ता को क्या सिफारिशें दी गई हैं और क्या वह उपयोगकर्ता सिफारिश को स्वीकार करता है। यह पसंद है
user_id item_id result
1 4 1
1 7 -1
5 19 1
5 80 1
जहां 1 का अर्थ है कि उपयोगकर्ता ने सिफारिश को स्वीकार कर लिया है जबकि -1 का अर्थ है कि उपयोगकर्ता ने सिफारिश का जवाब नहीं दिया है।
प्रश्न: अगर मैं ऊपर वर्णित लॉग के आधार पर उपयोगकर्ताओं के एक समूह को सिफारिशें करने जा रहा हूं, और मैं एमएपी @ 3 स्कोर को अधिकतम करना चाहता हूं, तो मुझे अंतर्निहित डेटा (1 या -1) से कैसे निपटना चाहिए?
मेरा विचार 1 और -1 को रेटिंग के रूप में मानने का है, और कारककरण मशीनों-प्रकार के एल्गोरिदम का उपयोग करके रेटिंग का अनुमान लगाना है। लेकिन यह सही नहीं लगता है, निहित डेटा की विषमता को देखते हुए (-1 का मतलब यह नहीं है कि उपयोगकर्ता को सिफारिश पसंद नहीं है)।
संपादित करें 1 मैट्रिक्स फैक्ट्रीज़ेशन दृष्टिकोण के संदर्भ में इसके बारे में सोचते हैं। अगर हम रेटिंग के तौर पर -1 और 1 को मानते हैं, तो कुछ समस्या होगी। उदाहरण के लिए, उपयोगकर्ता 1 अव्यक्त कारक स्थान में मूवी A को पसंद करता है जो एक कारक (जैसे शानदार पृष्ठभूमि संगीत) में उच्च स्कोर करता है। सिस्टम फिल्म बी की सिफारिश करता है जो "शानदार पृष्ठभूमि संगीत" में भी उच्च स्कोर करता है, लेकिन किसी कारण से उपयोगकर्ता 1 अनुशंसा पर ध्यान देने के लिए बहुत व्यस्त है, और हमारे पास -1 रेटिंग फिल्म बी है। यदि हम सिर्फ 1 या -1 के समान व्यवहार करते हैं। , तब सिस्टम को उपयोगकर्ता के लिए शानदार बीजीएम के साथ फिल्म की सिफारिश करने के लिए हतोत्साहित किया जा सकता है जबकि उपयोगकर्ता 1 अभी भी शानदार बीजीएम के साथ फिल्म पसंद करता है। मुझे लगता है कि इस स्थिति से बचना है।