उपयोगकर्ता प्रोफाइल को वर्गीकृत / क्लस्टर करने के लिए विशेषताओं का उपयोग करना


14

मेरे पास एक वेबसाइट से उत्पादों को खरीदने वाले उपयोगकर्ताओं का डेटासेट है।

मेरे पास उपयोगकर्ता की आईडी, क्षेत्र (राज्य), उत्पाद की श्रेणियां आईडी, उत्पाद की कीवर्ड आईडी, वेबसाइट की कीवर्ड आईडी, और उत्पाद की बिक्री की गई राशि की विशेषता है।

लक्ष्य किसी उत्पाद और वेबसाइट की जानकारी का उपयोग करके यह पहचानने के लिए है कि उपयोगकर्ता कौन हैं, जैसे "पुरुष युवा गेमर" या "होम मॉम पर रहें"।

मैंने नीचे के रूप में एक नमूना चित्र संलग्न किया है:

यहाँ छवि विवरण दर्ज करें

सभी 1940 अद्वितीय श्रेणियां और उत्पादों के लिए 13845 अद्वितीय कीवर्ड हैं। वेबसाइट के लिए, 13063 अद्वितीय कीवर्ड हैं। संपूर्ण डेटासेट विशाल है क्योंकि यह दैनिक लॉगिंग डेटा है।

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

किसी को भी कुछ विचारों या सुझावों के साथ मेरी मदद कर सकते हैं?

आपको बहुत - बहुत धन्यवाद!


1
क्या आप अधिक जानकारी प्रदान कर सकते हैं? "उत्पाद आईडी की श्रेणियां आईडी" क्या है और सभी प्रविष्टियों के लिए समान लंबाई की "कीवर्ड आईडी उत्पाद की खोज" है? "खोज कीवर्ड आईडी का आयाम 10000 से अधिक हो सकता है" क्यों? वे क्या हैं? आपके पास कितने नमूने हैं? यदि आप अपने डेटा का कुछ नमूना यहां पोस्ट करते हैं तो सभी सवालों के जवाब दिए जा सकते हैं। तब मैं शायद आपको कुछ सुझा सकता था।
कसरा मंशाई

क्या उत्पाद A और उत्पाद B दो उत्पाद हैं जिन्हें उपयोगकर्ता ने खरीदा है? शब्दों के अलग-अलग होने के बाद से लगता है कि उत्पाद A और B प्रत्येक उपयोगकर्ता के लिए अलग-अलग हैं। क्या ऐसा है? और अंतिम टिप्पणी, क्या आप वर्गीकृत या क्लस्टर करना चाहते हैं? वे काफी अलग तकनीक हैं :)
लॉग '14

शुक्रिया @kasramsh आपके उत्तरों के लिए बहुत बहुत धन्यवाद। मैंने विवरण को अद्यतन किया और एक नमूना डेटा भी संलग्न किया। आपसे कुछ सुझाव प्राप्त करने की आशा है!
सिल्विया

@logc हाँ, उत्पाद (मैंने कहा उत्पाद ए पहले) और वेबसाइट (मैंने कहा उत्पाद बी पहले) प्रत्येक उपयोगकर्ता से अलग हैं। प्रत्येक उत्पाद में कुछ कीवर्ड होते हैं और प्रत्येक वेबसाइट में कुछ कीवर्ड भी होते हैं। या तो क्लस्टरिंग या वर्गीकरण ठीक है, जब तक कि मैं एक उपयोगकर्ता प्रोफ़ाइल बना सकता हूं, जैसे कि "पुरुष युवा गेमर"; "मां घर पर रुको"। मुझे लगता है कि क्लस्टरिंग अधिक बेहतर है। धन्यवाद!!
सिल्विया

@ सिल्विया - मुझे हल करने के लिए इसी तरह की समस्या है। मैंने इसे एक अलग प्रश्न के रूप में पोस्ट किया था। क्या आप इसे हल करने के बारे में कुछ सुझाव दे सकते हैं? datascience.stackexchange.com/questions/12930/… के साथ मेरा अन्य संदेह K साधनों के लिए है, क्या आपने ग्राहक के साथ रिकॉर्ड बनाया है? मतलब कि प्रत्येक पंक्ति ने लेन-देन का प्रतिनिधित्व किया था या उसने उस ग्राहक की आज तक की कुल खरीद का प्रतिनिधित्व किया था।
नील

जवाबों:


11

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

आप जो करना चाहते हैं वह एक क्लस्टरिंग है , क्योंकि आप अपने डेटा के लिए कुछ लेबल खोजना चाहते हैं। (एक वर्गीकरण के विपरीत, जहां आपके पास कम से कम कुछ डेटा के लिए लेबल होंगे और आप बाकी को लेबल करना चाहेंगे)।

अपने उपयोगकर्ताओं पर एक क्लस्टरिंग करने के लिए, आपको उन्हें अमूर्त स्थान में कुछ प्रकार के बिंदुओं के रूप में रखना होगा। फिर आप बिंदुओं के बीच की दूरी को मापेंगे, और कहेंगे कि जो बिंदु "पास" हैं "समान" हैं, और उन्हें उस स्थान में उनकी जगह के अनुसार लेबल करें।

आपको अपना डेटा किसी ऐसी चीज़ में बदलने की ज़रूरत है, जो उपयोगकर्ता प्रोफ़ाइल की तरह दिखती है, यानी: एक उपयोगकर्ता आईडी, उसके बाद एक वेक्टर संख्या जो इस उपयोगकर्ता की सुविधाओं का प्रतिनिधित्व करती है। आपके मामले में, प्रत्येक सुविधा "वेबसाइट की श्रेणी" या "उत्पाद की श्रेणी" हो सकती है, और संख्या उस सुविधा में खर्च किए गए डॉलर की राशि हो सकती है। या फीचर वेब और उत्पाद का संयोजन हो सकता है।

एक उदाहरण के रूप में, आइए हम केवल तीन विशेषताओं के साथ उपयोगकर्ता प्रोफ़ाइल की कल्पना करते हैं:

  • डॉलर में "तकनीकी" जाले,
  • "फैशन" उत्पादों पर खर्च किए गए डॉलर,
  • और "परिवार-उन्मुख" जाले (जो जानता है) पर "आक्रामक" वीडियो गेम पर डॉलर खर्च किए गए।

उन प्रोफाइलों को बनाने के लिए, आपको "श्रेणियां" और "कीवर्ड्स" को मैप करने की आवश्यकता है जो आपके पास हैं, जो आपके विचार से प्रासंगिक हैं। में देखो विषय मॉडलिंग या अर्थ समानता ऐसा करने के लिए। एक बार जब यह नक्शा बन जाता है, तो यह बताता है कि सभी डॉलर कीवर्ड "गैजेट", "इलेक्ट्रॉनिक्स", "प्रोग्रामिंग", और एक्स अन्य के साथ जाले पर खर्च किए जाते हैं, इन सभी को हमारी पहली विशेषता में एकत्र किया जाना चाहिए; और इसी तरह।

सुविधाओं को "थोपने" से डरो मत! आपको उपयोगकर्ताओं को एक बार क्लस्टर करने के बाद उन्हें परिष्कृत करना होगा और शायद उन्हें पूरी तरह से बदलना होगा।

जब आपके पास उपयोगकर्ता प्रोफ़ाइल हो जाए, तो k-mean या जो भी आपको लगता है कि दिलचस्प है, का उपयोग करके उन्हें क्लस्टर करने के लिए आगे बढ़ें । आप जो भी तकनीक का उपयोग करते हैं, आप प्रत्येक क्लस्टर के लिए "प्रतिनिधि" बिंदु प्राप्त करने में रुचि रखेंगे। यह आमतौर पर उस क्लस्टर में बिंदुओं का ज्यामितीय "केंद्र" है।

उन "प्रतिनिधि" बिंदुओं को प्लॉट करें, और यह भी प्लॉट करें कि वे अन्य समूहों की तुलना कैसे करते हैं। रडार चार्ट का उपयोग करना यहाँ बहुत उपयोगी है। जहाँ भी एक मुख्य विशेषता है (प्रतिनिधि में कुछ ऐसा है जो बहुत ही चिह्नित है, और अन्य समूहों की तुलना में बहुत प्रमुख है) आपको कुछ आकर्षक वाक्यांश ("nerds", "फ़ैशनिस्टा) के साथ क्लस्टर को लेबल करने में मदद करने के लिए एक अच्छा उम्मीदवार है। , "आक्रामक लम्हें" ...)।

याद रखें कि क्लस्टरिंग समस्या एक खुली समस्या है, इसलिए कोई "सही" समाधान नहीं है! और मुझे लगता है कि मेरा जवाब पहले से ही काफी लंबा है; प्रोफाइल के सामान्यीकरण और फ़िल्टरिंग आउटलेर्स के बारे में भी जाँच करें।


आपका बहुत - बहुत धन्यवाद! यह बहुत मददगार है। मैं मैपिंग से शुरुआत करूंगा। मैं वास्तव में इसकी प्रशंसा करता हूँ!
सिल्विया

मदद करने के लिए खुश। :)
लॉग इन करें

हाय @logc, मैंने सुविधाओं के चयन के लिए LDA को आवेदन किया। मैंने प्रत्येक user_id को "दस्तावेज़" माना और कीवर्ड "दस्तावेज़" में "शब्द" हैं, फिर LDA लागू करने से मुझे कुछ कीवर्ड के विषय मिल गए। हालाँकि, मुझे नहीं पता कि मेरे अधिकांश विषय एक ही कीवर्ड से क्यों जुड़े हैं। क्या इसका मतलब यह है कि LDA मेरे मामले के लिए सही तरीका नहीं है या कुछ गलतियाँ हैं? आपको बहुत - बहुत धन्यवाद!
सिल्विया

@ सिल्विया: मेरा सुझाव है कि आप इस प्रश्न को इस साइट पर एक नए प्रश्न में बदल दें। अन्यथा, हम टिप्पणियों का एक टन लिखना समाप्त कर सकते हैं, और यह प्रश्नोत्तर के लिए सबसे अच्छा प्रारूप नहीं है। :)
लॉग

सलाह के लिये धन्यवाद। यहाँ लिंक है जिसे मैंने पोस्ट किया है अगर आपके पास एक समय देखने के लिए datascience.stackexchange.com/questions/5941- ...... धन्यवाद है!
सिल्विया

-2

अभिविन्यास और अन्वेषण के लिए, मैं वीकेए की सिफारिश कर सकता हूं , जो मशीन सीखने के लिए बहुत अच्छा टूलकिट है। यह एक निश्चित इनपुट प्रारूप (.ARFF) लेता है, इसलिए आपको उस पर भी ध्यान देने की आवश्यकता हो सकती है।

कीवर्ड दुविधा के लिए, मैं निरर्थक या गैर-सूचक कीवर्ड को समाप्त करने के लिए कुछ सुविधा चयन करने की सलाह देता हूं।


आपके उत्तर के लिए धन्यवाद @Lennart Kloppenburg। यदि विशेषता (keword_id) क्रम संख्या का आदेश दिया जाता है तो फीचर चयन कैसे करें? मैंने ऊपर एक नमूना डेटा अपडेट किया। क्या आप कृपया मुझे देख सकते हैं और मुझे कुछ सुझाव दे सकते हैं? धन्यवाद!
सिल्विया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.