जावा प्लेटोब्लॉकचैन डेटा इंटेलिजेंस में डीईए के साथ पेजों की सोशल मीडिया लोकप्रियता को मापना। लंबवत खोज। ऐ.

जावा में DEA के साथ पेजों की सोशल मीडिया लोकप्रियता को मापने

पिछले लेख में हमने इसके बारे में चर्चा की है आकड़ा लपेटना विश्लेषण तकनीक और हमने देखा है कि इसे एक प्रभावी गैर-पैरामीट्रिक रैंकिंग एल्गोरिदम के रूप में कैसे इस्तेमाल किया जा सकता है। इस ब्लॉग पोस्ट में हम JAVA में डेटा एनवलपमेंट एनालिसिस का एक कार्यान्वयन विकसित करेंगे और हम इसका उपयोग वेब पर वेबपेजों और लेखों की सोशल मीडिया लोकप्रियता का मूल्यांकन करने के लिए करेंगे। कोड खुला-खट्टा है (जीपीएल v3 लाइसेंस के तहत) और आप इसे स्वतंत्र रूप से डाउनलोड कर सकते हैं Github.

अद्यतन: डाटंबॉक्स मशीन लर्निंग फ्रेमवर्क अब खुला-स्रोत और मुफ्त है डाउनलोड। जावा में डेटा एनवलपमेंट एनालिसिस के कार्यान्वयन को देखने के लिए पैकेज com.datumbox.framework.algorithms.dea देखें।

JAVA में डेटा एनवलपमेंट एनालिसिस कार्यान्वयन

कोड JAVA में लिखा गया है और इसे सीधे डाउनलोड किया जा सकता है Github। यह GPLv3 के तहत लाइसेंस प्राप्त है इसलिए इसका उपयोग करने के लिए स्वतंत्र महसूस करें, इसे संशोधित करें और इसे स्वतंत्र रूप से पुनर्वितरित करें।

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

नीचे हम कार्यान्वयन की वास्तुकला का एक उच्च स्तरीय विवरण प्रदान करते हैं:

1. lp_solve 5.5 लाइब्रेरी

विभिन्न रैखिक प्रोग्रामिंग समस्याओं को हल करने के लिए, हम lp_solve नामक एक ओपन सोर्स लाइब्रेरी का उपयोग करते हैं। विशेष परिवाद ANSI C में लिखा गया है और लाइब्रेरी विधियों को लागू करने के लिए एक JAVA आवरण का उपयोग करता है। इस प्रकार कोड चलाने से पहले आपको अपने सिस्टम पर lp_solve स्थापित करना होगा। लाइब्रेरी के बायनेरिज़ दोनों के लिए उपलब्ध हैं लिनक्स और विंडोज और आप स्थापना के बारे में अधिक जानकारी पढ़ सकते हैं lp_solve दस्तावेज़.

कृपया सुनिश्चित करें कि JAVA कोड को चलाने का प्रयास करने से पहले आपके सिस्टम पर विशेष लाइब्रेरी स्थापित है। लाइब्रेरी को स्थापित करने और कॉन्फ़िगर करने से संबंधित किसी भी समस्या के लिए कृपया lp_solve दस्तावेज़ देखें।

2. DataEnvelopmentAnalysis वर्ग

यह डीईए एल्गोरिदम के कार्यान्वयन का मुख्य वर्ग है। यह अनुमान (दक्षता) नामक एक सार्वजनिक पद्धति को लागू करता है जो रिकॉर्ड का मानचित्र लेता है और अपने डीईए स्कोर को लौटाता है।

3. डेकोरॉर्ड ऑब्जेक्ट

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

4. सोशलमीडियापीपुलैरिटी क्लास

SocialMediaPopularity एक एप्लिकेशन है, जो अपने फेसबुक लाइक, Google + 1s और ट्वीट्स के आधार पर सोशल मीडिया नेटवर्क पर एक पेज की लोकप्रियता का मूल्यांकन करने के लिए DEA का उपयोग करता है। यह दो संरक्षित तरीकों को लागू करता है CalculPopularity () और अनुमानप्रेरेंटाइल () दो सार्वजनिक तरीकों के साथ लोडफाइल () और getPopularity ()।

कैलकुलोपोपुलैरिटी () अपने सोशल मीडिया काउंट्स के आधार पर पृष्ठों के स्कोर का अनुमान लगाने के लिए डीईए कार्यान्वयन का उपयोग करती है। EstPercentiles () विधि DEA स्कोर प्राप्त करती है और उन्हें प्रतिशत में रूपांतरित करती है। सामान्य प्रतिशत में डीईए स्कोर की तुलना में व्याख्या करना आसान है; इस प्रकार जब हम कहते हैं कि किसी पृष्ठ का लोकप्रियता स्कोर 70% है तो इसका अर्थ है कि विशेष पृष्ठ 70% पृष्ठों की तुलना में अधिक लोकप्रिय है।

किसी विशेष पृष्ठ की लोकप्रियता का अनुमान लगाने में सक्षम होने के लिए, हमारे पास अन्य पृष्ठों के सोशल मीडिया काउंट के साथ एक डेटासेट होना चाहिए। यह समझ में आता है कि यह अनुमान लगाने के लिए कि कौन सा पृष्ठ लोकप्रिय है और कौन सा नहीं है, आपको इसकी तुलना वेब पर अन्य पृष्ठों से करने में सक्षम होना चाहिए। ऐसा करने के लिए, हम txt प्रारूप में प्रदान किए गए Web SEO Analytics सूचकांक से एक छोटे से अनाम नमूने का उपयोग करते हैं। आप वेब पर अधिक पृष्ठों से सोशल मीडिया की गणना निकालकर अपना स्वयं का डेटाबेस बना सकते हैं।

लोडफ़ाइल () विधि का उपयोग डीईए पर पूर्वोक्त आँकड़ों को लोड करने के लिए किया जाता है और getPopularity () विधि एक आसान तरीका है जो फेसबुक को पसंद आती है, Google + 1s और एक पेज के ट्वीट्स की संख्या और सोशल मीडिया पर इसकी लोकप्रियता का मूल्यांकन करती है। ।

डेटा एनवलपमेंट एनालिसिस JAVA कार्यान्वयन का उपयोग करना

DataEnvelopmentAnalysisExample वर्ग में मैं कोड का उपयोग करने के 2 अलग-अलग उदाहरण प्रदान करता हूं।

पहला उदाहरण सीधे अपने उत्पादन (ISSUES, RECEIPTS, REQS) और इनपुट (STOCK, WAGES) के आधार पर संगठनात्मक इकाइयों की दक्षता का मूल्यांकन करने के लिए DEA विधि का उपयोग करता है। इसका उदाहरण एक लेख से लिया गया था डीईएज़ोन.कॉम.

        Map<String, DeaRecord> records = new LinkedHashMap<>();
        
        records.put("Depot1", new DeaRecord(new double[]{40.0,55.0,30.0}, new double[]{3.0,5.0}));
        //...adding more records here...
        
        DataEnvelopmentAnalysis dea = new DataEnvelopmentAnalysis();
        Map<String, Double> results = dea.estimateEfficiency(records);
        System.out.println((new TreeMap<>(results)).toString());

दूसरा उदाहरण सोशल मीडिया जैसे फेसबुक लाइक, गूगल + 1s और ट्वीट्स के डेटा का उपयोग करके एक पेज की लोकप्रियता का मूल्यांकन करने के लिए हमारे सोशल मीडिया लोकप्रियता एप्लिकेशन का उपयोग करता है। सभी सोशल मीडिया काउंट को आउटपुट के रूप में चिह्नित किया जाता है और हम एक खाली इनपुट वेक्टर डीईए पास करते हैं।

        SocialMediaPopularity rank = new SocialMediaPopularity();
        rank.loadFile(DataEnvelopmentAnalysisExample.class.getResource("/datasets/socialcounts.txt"));
        Double popularity = rank.getPopularity(135, 337, 9079); //Facebook likes, Google +1s, Tweets
        System.out.println("Page Social Media Popularity: "+popularity.toString());

आवश्यक विस्तार

प्रदान किया गया कोड सिर्फ एक उदाहरण है कि डीईए को रैंकिंग एल्गोरिदम के रूप में कैसे इस्तेमाल किया जा सकता है। कार्यान्वयन को बेहतर बनाने के लिए यहां कुछ विस्तार दिए गए हैं:

1. कार्यान्वयन में तेजी लाना

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

2. सोशल मीडिया काउंट डेटाबेस का विस्तार करना

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

3. अधिक सोशल मीडिया नेटवर्क जोड़ना

कार्यान्वयन एक लेख की लोकप्रियता का मूल्यांकन करने के लिए फेसबुक लाइक्स, Google + 1s और ट्वीट्स की संख्या का उपयोग करता है। फिर भी अन्य सोशल मीडिया नेटवर्क के मेट्रिक्स को आसानी से ध्यान में रखा जा सकता है। आपको केवल उन नेटवर्क से सोशल मीडिया की गिनती के साथ एक डेटाबेस बनाने की ज़रूरत है, जिसे आप रुचि रखते हैं और तदनुसार उन्हें संभालने के लिए SocialMediaPopularity क्लास का विस्तार करते हैं।

कार्यान्वयन पर अंतिम टिप्पणी

कार्यान्वयन का विस्तार करने में सक्षम होने के लिए आपको अच्छी समझ होनी चाहिए कि कैसे आकड़ा लपेटना विश्लेषण काम करता है। यह पिछले लेख पर कवर किया गया है, इसलिए कृपया सुनिश्चित करें कि किसी भी परिवर्तन के लिए आगे बढ़ने से पहले आप ट्यूटोरियल को पढ़ लें। इसके अलावा JAVA कोड का उपयोग करने के लिए आपने अपने सिस्टम में lp_solve लाइब्रेरी (ऊपर देखें) स्थापित की होगी।

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

समय टिकट:

से अधिक दातुनॉक्स