स्काला का उपयोग करते हुए डेटा साइंस टूल्स


15

मुझे पता है कि स्पार्क पूरी तरह से स्काला के साथ एकीकृत है। यह उपयोग का मामला विशेष रूप से बड़े डेटा सेट के लिए है। किन अन्य साधनों में अच्छा स्काला समर्थन है? क्या स्काला बड़े डेटा सेट के लिए सबसे उपयुक्त है? या यह छोटे डेटा सेट के लिए भी अनुकूल है?


2
क्या आप भी मशीन लर्निंग टूलकिट जैसे कि FACTORIE के बारे में जानना चाहते हैं?
एरिक कप्लून

मेरे सवाल के लिए प्रासंगिक लगता है, और अधिक साझा करने के लिए स्वतंत्र महसूस हो रहा है।
sheldonkreger

जवाबों:


11

पुन: डेटा का आकार

संक्षिप्त उत्तर

स्काला छोटे और बड़े दोनों डेटा के लिए काम करता है, लेकिन इसके निर्माण और विकास को कुछ मापनीय की जरूरत से प्रेरित किया जाता है। स्काला “स्केलेबल लैंग्वेज” के लिए एक परिचित है

लंबा जवाब

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

यह वार्ता स्काला के पीछे की प्रेरणा का एक अच्छा अवलोकन देती है।

रे: अन्य उपकरण जिनके पास अच्छा स्काला समर्थन है:

जैसा कि आपने उल्लेख किया है, स्पार्क (वितरण समकक्ष एल्गोरिदम अपने समकक्षों की तुलना में बेहतर प्रसंस्करण) एक बड़ा है। स्पार्क के साथ अपने पुस्तकालयों आता Mllib मशीन सीखने और के लिए GraphX रेखांकन के लिए। एरिक Allik और Tris Nefzger, ने उल्लेख किया अक्का और factorie मौजूद हैं। प्ले भी है ।

आम तौर पर, मैं नहीं बता सकता कि क्या कोई विशिष्ट उपयोग का मामला है जिसे आप खोद रहे हैं (यदि ऐसा है, तो अपने प्रश्न का एक हिस्सा बनाएं), या बस बड़े डेटा टूल का एक सर्वेक्षण चाहते हैं और स्कैला को थोड़ा जानना चाहते हैं और चाहते हैं वहाँ शुरू करने के लिए।


5

ScalaNLP सामान्य प्राकृतिक भाषा प्रसंस्करण कार्यों के लिए समर्थन के साथ मशीन लर्निंग और संख्यात्मक कंप्यूटिंग पुस्तकालयों का एक सूट है। http://www.scalanlp.org/

यहाँ डेटा विज्ञान के लिए स्काला लाइब्रेरी की एक नई अद्यतन सूची दी गई है: https://www.datasciencecentral.com/profiles/blogs/top-15-scala-lbooks-for-data-science-in-2018-1


4

स्काला के निर्माता, मार्टिन ओडस्की की प्रस्तुतियों को सुनने से लेकर, यह विशेष रूप से अच्छी तरह से ऑब्जेक्ट ओरिएंटेशन और फ़्ल्लेक्सिबल सिंटैक्स के साथ संयोजन में कार्यात्मक प्रोग्रामिंग निर्माण का लाभ उठाकर अत्यधिक स्केलेबल सिस्टम बनाने के लिए उपयुक्त है। यह छोटी प्रणालियों के विकास और तेजी से प्रोटोटाइप के लिए भी उपयोगी है क्योंकि यह कुछ अन्य भाषाओं की तुलना में कोड की कम लाइनें लेता है और इसमें तेजी से प्रतिक्रिया के लिए एक इंटरैक्टिव मोड है। एक उल्लेखनीय स्काला ढांचा अक्का है जो समवर्ती संगणना के अभिनेता मॉडल का उपयोग करता है। ओडस्की की कई प्रस्तुतियां YouTube पर हैं और wala.scala-lang.org पर स्काला के साथ कार्यान्वित उपकरणों की एक सूची है।

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

मुख्य रूप से मैं स्काला को पसंद करता हूं क्योंकि यह जावा की तुलना में बहुत अधिक अभिव्यंजक है क्योंकि यह ऑब्जेक्ट ओरिएंटेड मॉड्युलैरिटी को बनाए रखते हुए वस्तुओं और मूल्यों के रूप में कार्यों के उपयोग की सुविधा देता है, जो जावा की तुलना में कहीं कम कोड के साथ जटिल और सही कार्यक्रमों के विकास को सक्षम बनाता है जो मैंने व्यापक उपयोग, स्पष्टता और उत्कृष्ट प्रलेखन के कारण पसंद किया था।


1
यह सामान्य रूप से स्काला के बारे में बहुत अच्छी जानकारी है, लेकिन मैं विशिष्ट डेटा विज्ञान उपकरण या फ्रेमवर्क के बारे में जानकारी की तलाश कर रहा हूं, जिसमें स्काला एकीकरण है, और क्यों स्काला उन उपकरणों का उपयोग करने के लिए एक अच्छी भाषा है।
शेल्डोन्क्रेगर

0

स्काला बड़े और छोटे डेटा विज्ञान अनुप्रयोगों दोनों के लिए अनुकूल है। DynaML पर विचार करें यदि आप मशीन लर्निंग लाइब्रेरी की कोशिश करना चाहते हैं जो अपाचे स्पार्क के साथ अच्छी तरह से एकीकृत है। यह अभी भी अपनी प्रारंभिक अवस्था में है इसलिए पेशकश किए गए मॉडलों की संख्या के संदर्भ में बोलना है, लेकिन यह एक व्यापक और लचीली मशीन लर्निंग एपीआई द्वारा इसके लिए बनाता है।

कुछ नमूना उपयोग मामलों पर विचार करने के लिए विचार करें (अधिक जहां से आया था)

  1. सिस्टम पहचान - एबॉट पावर प्लांट

अस्वीकरण: मैं DynaML का लेखक हूं


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