घटनाओं के बीच सहसंबंधों को खोजने के लिए मैं किस एल्गोरिथ्म का उपयोग कर सकता हूं?


12

मैं मशीन लर्निंग के लिए नया हूं इसलिए मैं कुछ साहित्य खोजने की कोशिश कर रहा हूं लेकिन मुझे यह भी पता नहीं है कि Google के लिए क्या है। मेरा डेटा निम्न रूप में है:

User A performs Action P
User B performs Action Q
User C performs Action R
...
User C performs Action X
User A performs Action Y
User B performs Action Z
...

जहाँ प्रत्येक क्रिया की कुछ विशेषताएँ (दिनांक, समय, ग्राहक, आदि) होती हैं। लगभग 300 उपयोगकर्ता हैं और हमारे पास लगभग 20,000 कार्य हैं।

प्रश्न :

मैं यह पता लगाना चाहता हूं कि क्या उपयोगकर्ता कार्यों के बीच कोई कारण / सहसंबंध है। उदाहरण के लिए, "हर बार उपयोगकर्ता ई एक्शन टी करता है, 2 दिन बाद उपयोगकर्ता जी एक्शन वी करता है"। लेकिन बीच में, कई अन्य उपयोगकर्ता कई अन्य क्रियाएं कर सकते हैं, और यह संभव है कि कोई सहसंबंध न हो। यह भी संभव है कि कुछ उपयोगकर्ता सहसंबद्ध हैं, लेकिन अन्य पूरी तरह से स्वतंत्र हैं। क्या यह कुछ ऐसा है जो मशीन लर्निंग मेरे लिए खोजने में सक्षम होगा? क्या कोई विशिष्ट एल्गोरिदम या एल्गोरिदम का सेट है जो मेरी मदद कर सकता है?

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


1
क्या आपने इवेंट को एक निर्देशित ग्राफ पर रखने की कोशिश की , एक शीर्ष क्रिया एक क्रिया प्रकार का प्रतिनिधित्व करती है । वहाँ एक बढ़त है कुछ उपयोगकर्ता iff था कार्रवाई पहले । यह आसानी से उस उपयोगकर्ता की संख्या के साथ भारित किया जा सकता है जिसने ऐसा अनुक्रम किया था। आप प्रति उपयोगकर्ता ग्राफ भी कर सकते हैं। G=(V,E)P(i,j)ij
0x90

जवाबों:


1

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

इस लेख में लेन-देन तालिका देखें: बाजार टोकरी एनालिसिस

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

UserA,transactionP |UserB,transaction Z| UserB, transaction F | [...]

यह वास्तव में उपयोगी है, धन्यवाद! तो क्या मैं प्रत्येक उपयोगकर्ता के लिए एक बार एल्गोरिथ्म चलाऊंगा, यह पूछने पर कि क्या किसी अन्य उपयोगकर्ता का उस उपयोगकर्ता से कोई संबंध है, या क्या इसे केवल एक बार चलाना संभव है, और "मुझे उन उपयोगकर्ताओं के सेट दिखाएं जो सहसंबद्ध हैं"?
मैट

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

तीन सुझाव। 1. अपनी जांच को कम करें। असम्मानजनक नहीं है, लेकिन कोई एकल, चमत्कारिक रूप से व्यापक सांख्यिकीय प्रक्रिया नहीं है जो आपको सभी सार्थक संगठनों में से कई, कई संभावित लोगों को आपके डेटा में निहित बता सकती है। 2. समय श्रृंखला विश्लेषण पर पढ़ें। 3. मात्र सहसंबंध से भिन्न कार्य के तरीकों पर पढ़ें। दुर्भाग्य से, मेरे पास प्रस्ताव देने के लिए कोई त्वरित सुधार नहीं है!
रोलैंडो 2

1

अपने डेटा को एक्सप्लोर करने का एक तरीका पिछली क्रिया x की तालिका को अगली क्रिया बनाना है। इसलिए प्रत्येक घटना के लिए, एक ही उपयोगकर्ता द्वारा अगली कार्रवाई खोजें। अगली कार्रवाई तक आप पिछली कार्रवाई X विलंब को समान रूप से सारणीबद्ध कर सकते हैं।

फिर आप यह पता लगा सकते हैं कि पिछली कार्रवाई अगले एक को प्रभावित करती है या नहीं। यदि नहीं, तो आपके उपयोगकर्ता "स्टेटलेस" हैं।

एक और संभावित सरलीकरण उपयोगकर्ता की उपेक्षा करना है, और पूछना है कि क्या प्रत्येक क्रिया की आवृत्ति समय के साथ या अलग-अलग होती है; और अगर यह अलग है कि यह चक्रीय है या एक प्रवृत्ति दिखाता है।

इन सवालों के जवाब से पता चल सकता है कि आपके डेटा में बहुत कम संरचना है। वैकल्पिक रूप से, वे परीक्षण करने के लिए कुछ नई परिकल्पनाएँ बढ़ा सकते हैं।


1

यह एक दिलचस्प सवाल है। संपूर्ण डेटासेट को देखने और एक आवृत्ति तालिका बनाने के लिए सबसे अच्छा तरीका है। उदाहरण के लिए: उपयोगकर्ता A क्रिया P और Y उपयोगकर्ता B क्रिया Q और Z कर रहा है, उपयोगकर्ता C क्रिया R और X निष्पादित कर रहा है, इसी प्रकार, अधिक कार्य करने वाले अधिक उपयोगकर्ता हैं। इसलिए, इस डेटासेट से निपटने के लिए कई दृष्टिकोण हैं 1) अलग-अलग बाल्टियों में समान आइटम समूह के लिए क्लस्टर एल्गोरिथ्म 2) उपयोगकर्ताओं के कार्यों की पहचान करने के लिए मार्केट बास्केट विश्लेषण बनाम मैपिंग और फ़्रीक्वेंसी

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.