C (या C ++) में डेटा साइंस


40

मैं एक Rभाषा प्रोग्रामर हूं । मैं उन लोगों के समूह में भी हूं, जिन्हें डेटा वैज्ञानिक माना जाता है, लेकिन जो सीएस के अलावा अन्य शैक्षणिक विषयों से आते हैं।

यह एक डेटा साइंटिस्ट के रूप में मेरी भूमिका में अच्छी तरह से काम करता है, हालांकि, अपना करियर शुरू करने Rऔर केवल अन्य स्क्रिप्टिंग / वेब भाषाओं का बुनियादी ज्ञान होने से, मैंने 2 प्रमुख क्षेत्रों में कुछ हद तक अपर्याप्त महसूस किया है:

  1. प्रोग्रामिंग सिद्धांत के एक ठोस ज्ञान का अभाव।
  2. तेजी से और अधिक व्यापक रूप से इस्तेमाल की जाने वाली भाषाओं में कौशल के प्रतिस्पर्धी स्तर का अभाव C, C++और Java, जिसका उपयोग पाइपलाइन और बिग डेटा संगणना की गति बढ़ाने के लिए और साथ ही डीएस / डेटा उत्पादों को बनाने के लिए किया जा सकता है जो अधिक आसानी से तेजी से विकसित हो सकते हैं। बैक-एंड स्क्रिप्ट या स्टैंडअलोन एप्लिकेशन।

समाधान सरल है - प्रोग्रामिंग के बारे में जानें, जो कि मैं कुछ कक्षाओं (वर्तमान में सी प्रोग्रामिंग) में नामांकन करके कर रहा हूं।

हालांकि, अब है कि मैं पता समस्याओं # 1 और ऊपर # 2 के लिए शुरू कर, मैं छोड़ दिया अपने आप पूछ रहा हूँ " कितना व्यवहार्य तरह भाषाएं हैं Cऔर C++डाटा विज्ञान के लिए? "।

उदाहरण के लिए, मैं बहुत तेज़ी से चारों ओर डेटा स्थानांतरित कर सकता हूं और उपयोगकर्ताओं के साथ बातचीत कर सकता हूं, लेकिन उन्नत प्रतिगमन, मशीन लर्निंग, टेक्स्ट माइनिंग और अन्य उन्नत सांख्यिकीय संचालन के बारे में क्या?

इसलिए। Cनौकरी कर सकते हैं - उन्नत सांख्यिकी, एमएल, एआई और डेटा साइंस के अन्य क्षेत्रों के लिए कौन से उपकरण उपलब्ध हैं? या मुझे स्क्रिप्ट या अन्य भाषाओं Cपर कॉल करके प्रोग्रामिंग द्वारा प्राप्त की गई अधिकांश दक्षता ढीली करनी चाहिए R?

सबसे अच्छा संसाधन मैं अब तक सी में मिल गया है एक पुस्तकालय कहा जाता है शार्क , जो देता है C/ C++समर्थन वेक्टर मशीनें, रेखीय प्रतीपगमन (नहीं गैर रेखीय और बहुपद PROBIT जैसे अन्य उन्नत प्रतिगमन, आदि) और अन्य की एक शॉर्टलिस्ट उपयोग करने की क्षमता (महान लेकिन) सांख्यिकीय कार्य।


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

1
@sheldonkreger जो मैं पूछ रहा हूं, मैं उसे और अधिक स्पष्ट कर दूंगा, धन्यवाद
हैक-आर

1
मैंने मौजूदा C ++ इंजन में मशीन लर्निंग को शामिल करने के लिए Waffles (C ++) का उपयोग किया है।
पीट

@Pete अगर आप इसे एक उत्तर में शामिल कर सकते हैं, तो मुझे इसके समाधान के रूप में चिह्नित करने की संभावना होगी
Hack-R

1
मेटा टूलकिट C ++: meta-toolkit.github.io/meta में उपलब्ध है । कौरसेरा पर एक कोर्स है जो इसका उपयोग करता है, यह अभी भी 1 सप्ताह में है, इसलिए आप एक नज़र रखना चाहते हैं। पाठ्यक्रम को "पाठ पुनर्प्राप्ति और खोज इंजन" कहा जाता है।
लॉरीक

जवाबों:


35

या मुझे R लिपियों या अन्य भाषाओं में कॉल करके C में प्रोग्रामिंग द्वारा प्राप्त की गई अधिकांश दक्षता ढीली करनी चाहिए?

इसके विपरीत करें: R एक्सटेंशन लिखने के लिए C / C ++ सीखें। C / C ++ का उपयोग केवल अपने नए एल्गोरिदम के प्रदर्शन के महत्वपूर्ण वर्गों के लिए करें, अपने विश्लेषण, डेटा आयात करने, प्लॉट बनाने आदि के लिए R का उपयोग करें।

यदि आप R से आगे जाना चाहते हैं, तो मैं अजगर सीखने की सलाह दूंगा। ऐसे कई तरह के रूप में उपलब्ध पुस्तकालय हैं scikit सीखने मशीन एल्गोरिदम या सीखने के लिए PyBrain (और उपयोग pylab / तंत्रिका नेटवर्क आदि के निर्माण के लिए matplotlib की साजिश रचने और के लिए IPython नोटबुक अपने विश्लेषण विकसित करने के लिए)। फिर से, C / C ++ समय महत्वपूर्ण एल्गोरिदम को अजगर एक्सटेंशन के रूप में लागू करने के लिए उपयोगी है।


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

1
मैंने पायथन सीखने की धारणा को दूसरा किया। मैं उन डेटासेट का विश्लेषण करने के लिए बड़े डेटासेट और डेटा वैज्ञानिक आर के उपयोग के साथ काम करता हूं। हालांकि मैंने बहुत कम उम्र में सी सीखा है, पायथन एक ऐसी भाषा है जो वास्तव में मुझे प्रोग्रामर के रूप में मूल्य दे रही है और इन डेटा वैज्ञानिक की सहायता कर रही है। इसलिए, टीम की तारीफ करें, खुद की नहीं।
ग्लेन स्वान

1
इसी तरह अजगर को साइथन (फिर से मूल रूप से सी) में लिखकर उगाया जाता है। मुझे कहना है कि मुझे अभी तक इसका उपयोग करना है। ऐसा बहुत कम है जो मौजूदा पुस्तकालयों (उदाहरणार्थ-सीखो, पंडों को अजगर में [जो कि साइथन में लिखे गए हैं, इसलिए आपको नहीं करना है!) का उपयोग करके नहीं किया जा सकता है।
seanv507

कुछ अन्य उपयोगी अजगर पुस्तकालयों में शामिल हैं: पांडा, सुन्न, डरावना आदि। इसे सीखने के समर्थन में जोड़ना :) :)
शगुन सोढानी

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

10

जैसा कि आंद्रे होल्जनेर ने कहा है, C / C ++ एक्सटेंशन के साथ R का विस्तार करना दोनों पक्षों के सर्वश्रेष्ठ का लाभ उठाने का एक बहुत अच्छा तरीका है। इसके अलावा, आप उलटा प्रयास कर सकते हैं, C ++ के साथ काम कर रहे हैं और R के उलट पैकेज ओ आर के साथ कभी-कभी कॉलिंग फ़ंक्शन आर। यहां आप पा सकते हैं कि कैसे

http://cran.r-project.org/web/packages/RInside/index.html http://dirk.eddelbuettel.com/code/rinside.html

एक बार जब आप C ++ में काम कर रहे होते हैं, तो आपके पास कई पुस्तकालय होते हैं, उनमें से कई विशिष्ट समस्याओं के लिए निर्मित होते हैं, अन्य सामान्य

http://www.shogun-toolbox.org/page/features/ http://image.diku.dk/shark/sphinx_pages/build/html/index.html

http://mlpack.org/


9

मैं मानता हूं कि वर्तमान प्रवृत्ति पायथन / आर का उपयोग करना है और कम्प्यूटेशनल महंगे कार्यों के लिए इसे कुछ सी / सी ++ एक्सटेंशन से बांधना है।

हालाँकि, यदि आप C / C ++ में रहना चाहते हैं, तो आप Dlib पर एक नज़र डालना चाहते हैं :

Dlib एक सामान्य प्रयोजन क्रॉस-प्लेटफ़ॉर्म C ++ लाइब्रेरी है जिसे अनुबंध प्रोग्रामिंग और आधुनिक C ++ तकनीकों का उपयोग करके बनाया गया है। यह ओपन सोर्स सॉफ्टवेयर है और बूस्ट सॉफ्टवेयर लाइसेंस के तहत लाइसेंस प्राप्त है।

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


एक और बेहद उपयोगी जवाब। क्या आप जानते हैं कि अगर हमें उस छवि को स्वतंत्र रूप से पुन: पेश करने की अनुमति है (यदि मैं इसे किसी प्रस्तुति या ब्लॉग, आदि में रखना चाहता हूं)? इसके अलावा, जब यह "> 20k नमूने" जैसी चीजें कहती है तो मुझे आश्चर्य होता है कि क्या इसका वास्तव में मतलब है "नमूने" या "आपके नमूने में अवलोकन"?
हैक-आर

2
मैं dlib लेखक हूँ। बेझिझक उस छवि को पोस्ट करें जहाँ आप चाहते हैं :)। इसके अलावा,> 20k नमूने का मतलब है कि आपके पास 20k वैक्टर या जो कुछ भी है। प्रत्येक नमूने में कितने चर हैं एक अलग मुद्दा है।
डेविस किंग

@ हैक-आर "नमूना" उन आंकड़ों / मशीन सीखने में अतिभारित शब्दों में से एक है जहां कभी-कभी इसका मतलब आबादी से तैयार उदाहरणों का एक सेट होता है (जैसा कि "नमूना आकार", "नमूना मतलब", आदि), और कभी-कभी यह। व्यक्तिगत उदाहरणों का अर्थ है (जैसा कि "10K नमूनों पर एक वर्गीकृत प्रशिक्षित")।
टिम गुडमैन

6

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

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

कहा जा रहा है कि, डेटा विज्ञान, एमएल और एआई क्षेत्रों पर केंद्रित कई पैकेज और लाइब्रेरी, आर या पायथन के अलावा अन्य भाषाओं में एपीआई लागू और / या प्रदान करते हैं (प्रमाण के लिए, यह क्यूरेट सूची और यह क्यूरेट सूची देखें , जिसमें दोनों उत्कृष्ट हैं और क्षेत्र में विविधता के बारे में एक ठोस दृष्टिकोण देते हैं)। यह विशेष रूप से प्रदर्शन-उन्मुख या विशेष सॉफ़्टवेयर के लिए सच है । उस सॉफ़्टवेयर के लिए, मैंने अधिकतर जावा, C और C ++ में कार्यान्वयन और / या एपीआई के साथ परियोजनाएं देखी हैं। ( डेटा विज्ञान के बड़े डेटा खंड में जावा विशेष रूप से लोकप्रिय है - Hadoop और इसकी पारिस्थितिकी तंत्र के साथ निकटता के कारण - और NLP मेंखंड), लेकिन अन्य विकल्प उपलब्ध हैं, यद्यपि बहुत अधिक सीमित, डोमेन-आधारित, सीमा। इन भाषाओं में से कोई भी समय की बर्बादी नहीं है, हालांकि आपको अपनी वर्तमान कार्य स्थिति, परियोजनाओं और हितों के साथ किसी भी या सभी को महारत हासिल करने को प्राथमिकता देना होगा । इसलिए, C / C ++ (और जावा) की व्यवहार्यता के बारे में आपके प्रश्न का उत्तर देने के लिए, मैं कहूंगा कि वे सभी व्यवहार्य हैं , हालांकि प्राथमिक डेटा विज्ञान उपकरण के रूप में नहीं , बल्कि द्वितीयक के रूप में ।

1) C पर आपके प्रश्नों का उत्तर एक संभावित डेटा साइंस टूल और 2) इसकी दक्षता के रूप में देते हुए , मैं कहूंगा कि: 1) डेटा विज्ञान के लिए C का उपयोग करना संभव है , मैं इसे करने के खिलाफ अनुशंसा करूंगा , क्योंकि आपके पास बहुत होगा कठिन समय के अनुरूप पुस्तकालयों या, और भी अधिक, अपने आप से इसी एल्गोरिदम को लागू करने की कोशिश कर; 2) आपको दक्षता के बारे में चिंता नहीं करनी चाहिए, क्योंकि कोड के कई प्रदर्शन-महत्वपूर्ण खंडों को सी, प्लस जैसी निम्न-स्तरीय भाषाओं में लागू किया जाता है, लोकप्रिय डेटा विज्ञान भाषाओं के साथ इंटरफ़ेस के विकल्प हैं, कहते हैं, सी (उदाहरण के लिए, Rcppपैकेज के लिए) C / C ++ के साथ एकीकरण R: http://dirk.eddelbuettel.com/code/rcpp.html)। यह सरल के अलावा है, लेकिन अक्सर प्रभावी है, प्रदर्शन के लिए दृष्टिकोण, जैसे कि आर में सदिशीकरण के निरंतर उपयोग के साथ-साथ विभिन्न समानांतर प्रोग्रामिंग फ्रेमवर्क, पैकेज और लाइब्रेरी का उपयोग करना। आर इकोसिस्टम उदाहरणों के लिए, सीआरएएन टास्क व्यू "आर के साथ उच्च प्रदर्शन और समानांतर कम्प्यूटिंग" देखें

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


5

R डेटा वैज्ञानिक के लिए महत्वपूर्ण उपकरण में से एक है, जो कभी भी आप इसका उपयोग करना बंद नहीं करते हैं।

अब C, C ++ या जावा की बात कर रहे हैं। वे अच्छी लोकप्रिय भाषा हैं। वेदर आपको उनकी आवश्यकता है या उन्हें आपके द्वारा की जाने वाली नौकरी या परियोजनाओं के प्रकार पर निर्भर करेगा। व्यक्तिगत अनुभव से, डेटा वैज्ञानिक के लिए बहुत सारे उपकरण हैं जो आपको हमेशा महसूस करेंगे जैसे आपको लगातार सीखने की आवश्यकता है।

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


मुझे पता है कि आपको भारी संख्या में साधनों के बारे में क्या मतलब है! मैं अपने इंटर्न को विचलित नहीं होने और सिर्फ 1 या 2 चीजों पर ध्यान केंद्रित करने के लिए कहता हूं, लेकिन मेरी खुद की सलाह लेना मुश्किल है।
हैक-आर

5

एक डेटा वैज्ञानिक के रूप में अन्य भाषाएं (C ++ / Java) काम आती हैं, जब आपको मशीन सीखने को मौजूदा उत्पादन इंजन में शामिल करने की आवश्यकता होती है।

Waffles एक अच्छी तरह से बनाए रखा C ++ क्लास लाइब्रेरी और कमांड-लाइन विश्लेषण पैकेज दोनों है। यह पर्यवेक्षित और अनुपयोगी शिक्षा, डेटा हेरफेर उपकरण के टन, विरल डेटा उपकरण, और ऑडियो प्रोसेसिंग जैसी अन्य चीजें मिली हैं। चूंकि यह एक क्लास लाइब्रेरी भी है, आप इसे आवश्यकतानुसार बढ़ा सकते हैं। यहां तक ​​कि अगर आप C ++ इंजन विकसित नहीं कर रहे हैं (संभावना है कि आप नहीं होंगे), तो यह आपको प्रोटोटाइप, परीक्षण और डेवलपर्स को कुछ सौंपने की अनुमति देगा।

सबसे महत्वपूर्ण बात, मेरा मानना ​​है कि सी ++ और जावा के बारे में मेरा ज्ञान वास्तव में मुझे यह समझने में मदद करता है कि पायथन और आर कैसे काम करते हैं। किसी भी भाषा का उपयोग केवल तभी ठीक से किया जाता है जब आप इस बारे में थोड़ा समझते हैं कि क्या चल रहा है। भाषाओं के बीच के अंतर को जानकर आप अपनी मुख्य भाषा की शक्तियों का दोहन करना सीख सकते हैं।

अद्यतन करें

बड़े डेटा सेट के साथ व्यावसायिक अनुप्रयोगों के लिए, अपाचे स्पार्क - एमएललिब महत्वपूर्ण है। यहां आप Scala, Java, या Python का उपयोग कर सकते हैं।


2

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


चूँकि C जैसी भाषाओं की तुलना में R और Python जैसी भाषाएँ बहुत धीमी / अक्षम हैं। इसलिए जब आप बहुत से डेटा और संगणनाओं से निपटते हैं, यदि आप C में कुछ कर सकते हैं तो यह तेजी से होता है अगर आप इसे R में कर सकते हैं। मैं प्यार और उपयोग करता हूं हैडली के पैकेज थो!
हैक-आर

2

सांख्यिकी और डेटा विज्ञान के लिए कुछ C ++ टूल हैं जैसे ROOT https://root.cern.ch/drupal/ , BAT https://www.mppmu.mpg.de/bat/ , बढ़ावा देना या OpenCV


बहुत बढ़िया! धन्यवाद। मैं केवल यही चाहता हूं कि वे सादे सी के लिए भी हों, लेकिन फिर भी मददगार हैं।
हैक-आर

1

यह निश्चित नहीं है कि अभी तक इसका उल्लेख किया गया है, लेकिन वहाँ भी vowpal wabbit है, लेकिन यह केवल कुछ प्रकार की समस्या के लिए विशिष्ट हो सकता है।


1
दिलचस्प लग रहा है। मैं केवल लिंक पर नज़र रखता था, लेकिन उल्लेख किए गए मॉडल के प्रकार अत्यधिक उपयोगी होंगे। हालांकि यह एक नियमित सी लाइब्रेरी है जिसे आप एक कार्यक्रम में उपयोग कर सकते हैं? मुझे और जांच करनी होगी।
हैक-आर

0

Intel DAAL पर नज़र डालें जो अभी चल रहा है। यह इंटेल सीपीयू वास्तुकला के लिए अत्यधिक अनुकूलित है और वितरित संगणनाओं का समर्थन करता है।


0

बड़े डेटा के लिए स्केलेबल मशीन लर्निंग समाधान:

मैं अपना $ .02 जोड़ूंगा क्योंकि एक महत्वपूर्ण क्षेत्र है जो लगता है कि पिछले सभी पोस्ट में संबोधित नहीं किया गया है - बड़े डेटा पर मशीन सीखना !

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

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

हम एक मालिकाना डेटाबेस उत्पाद के भीतर हर जगह सी और सी ++ का उपयोग करते हैं। हमारे सभी उच्च स्तर के सामान को C ++ और MPI में संभाला जाता है, लेकिन डेटा को छूने वाले निम्न स्तर के सामान सभी लंबे होते हैं और उत्पाद को बहुत तेज़ रखने के लिए C शैली वर्ण सरणियाँ होती हैं। एसटीडी स्ट्रिंग्स की सुविधा केवल कम्प्यूटेशनल लागत के लायक नहीं है।

कई C ++ लाइब्रेरी उपलब्ध नहीं हैं जो वितरित, स्केलेबल मशीन सीखने की क्षमता - MLPACK प्रदान करते हैं

हालाँकि, API के साथ अन्य मापनीय समाधान हैं:

Apache Spark में एक स्केलेबल मशीन लर्निंग लाइब्रेरी है जिसे MLib कहा जाता है जिसे आप इंटरफेस कर सकते हैं।

इसके अलावा टेनसफ़्लो ने अब टेंसोफ़्लो वितरित किया है और इसमें सी ++ एपीआई है

उम्मीद है की यह मदद करेगा!

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