7

MatrixFactorizationModel को देखते हुए उपयोगकर्ता-उत्पाद भविष्यवाणियों के पूर्ण मैट्रिक्स को वापस करने का सबसे प्रभावी तरीका क्या होगा (व्यावहारिक रूप से, कुछ थ्रेसहोल्ड द्वारा स्पैरसिटी बनाए रखने के लिए फ़िल्टर किया गया)?स्पार्क मैट्रिक्स फैक्टोरिज़ेशन मॉडल में सभी उपयोगकर्ता-उत्पाद संयोजनों को कैसे स्कोर करें?

वर्तमान एपीआई के माध्यम से, एक बार भविष्यवाणी समारोह में उपयोगकर्ता-उत्पाद का कार्टेशियन उत्पाद पास कर सकता है, लेकिन ऐसा लगता है कि यह बहुत अधिक प्रोसेसिंग करेगा।

निजी उपयोगकर्ता का उपयोग करना होगा विशेषताएं, उत्पाद विशेषताएं सही दृष्टिकोण हैं, और यदि हां, तो क्या इस गणना को कुशल तरीके से वितरित करने के लिए ढांचे के अन्य पहलुओं का लाभ उठाने का एक अच्छा तरीका है? विशेष रूप से, उपयोगकर्ता के सभी जोड़े को गुणा करने से बेहतर करने का कोई आसान तरीका है, उत्पाद फ़ीचर "हाथ से"?

उत्तर

5

स्पार्क 1.1 में recommendProducts विधि है जो प्रत्येक उपयोगकर्ता आईडी में मैप किया जा सकता है। यह कुछ भी नहीं है लेकिन वास्तव में सभी उपयोगकर्ताओं की सिफारिश के लिए अनुकूलित नहीं है।

मैं दोबारा जांच करूँगा कि आप वास्तव में सभी के लिए सिफारिशें करना चाहते हैं; पैमाने पर, यह स्वाभाविक रूप से एक बड़ा धीमा ऑपरेशन है। उन उपयोगकर्ताओं के लिए भविष्यवाणी करने पर विचार करें जो हाल ही में सक्रिय हैं।

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

+0

हाँ, यह एक बड़ा आपरेशन जिसके कारण इसके लायक आगे अनुकूलन करने के लिए प्रयास करने के लिए प्रयास लग रहा था है। सुझावों के लिए धन्यवाद! – cohoz

0

स्पार्क 2.2 के रूप में, recommendProductsForUsers(num) तरीका होगा।

सभी उपयोगकर्ताओं के लिए उत्पादों की शीर्ष "संख्या" संख्या की अनुशंसा करता है। प्रति उपयोगकर्ता लौटाई गई सिफारिशों की संख्या "num" से कम हो सकती है।

https://spark.apache.org/docs/2.2.0/api/python/pyspark.mllib.html

संबंधित मुद्दे