यह सब आपको आवश्यक एल्गोरिदम पर निर्भर करता है। यदि उनका अनुवाद वृद्धिशील रूप में किया जा सकता है (जब किसी भी क्षण में डेटा का केवल छोटा हिस्सा आवश्यक होता है, उदाहरण के लिए नैवे बेयस के लिए आप केवल स्मृति मॉडल और वर्तमान अवलोकन को संसाधित कर सकते हैं), तो सबसे अच्छा सुझाव है डिस्क से डेटा के नए बैचों को पढ़ने, मशीन सीखने में वृद्धि।
हालांकि, कई एल्गोरिदम और विशेष रूप से उनके कार्यान्वयन के लिए वास्तव में पूरे डेटासेट की आवश्यकता होती है। यदि डेटासेट का आकार आपको डिस्क (और फ़ाइल सिस्टम सीमाएं) फिट करता है, तो आप mmap पैकेज का उपयोग कर सकते हैं जो डिस्क पर फ़ाइल को स्मृति में मैप करने और प्रोग्राम में इसका उपयोग करने की अनुमति देता है। नोट हालांकि, डिस्क पर पढ़ने-लिखने के लिए महंगे हैं, और कभी-कभी बार-बार डेटा को आगे बढ़ाना पसंद करते हैं। तो सावधान रहें।
यदि आपका डेटा हार्ड ड्राइव पर भी संग्रहीत नहीं किया जा सकता है, तो आपको वितरित मशीन लर्निंग सिस्टम का उपयोग करने की आवश्यकता होगी। ऐसी एक आर-आधारित प्रणाली Revolution R है जो handle वास्तव में बड़े डेटासेट के लिए डिज़ाइन की गई है। दुर्भाग्यवश, यह खुला स्रोत नहीं है और बहुत सारा पैसा खर्च करता है, लेकिन आप free academic license प्राप्त करने का प्रयास कर सकते हैं। वैकल्पिक रूप से, आपको जावा-आधारित Apache Mahout में दिलचस्पी हो सकती है - हडोप के आधार पर और बहुत महत्वपूर्ण एल्गोरिदम सहित बहुत ही सुरुचिपूर्ण, लेकिन बहुत ही कुशल समाधान नहीं है।
पर एक नज़र डालें "बड़े स्मृति और आउट-ऑफ-मेमोरी डेटा" [उच्च निष्पादन कंप्यूटिंग कार्य दृश्य] की उपधारा (http://cran.r-project.org/web/views/HighPerformanceComputing.html) सीआरएएन पर [bigmemory] (http://cran.r-project.org/web/packages/bigmemory/index.html) और [एफएफ] (http://cran.r-project.org/web/packages/ff/index एचटीएमएल) दो लोकप्रिय पैकेज हैं। साथ ही, डेटाबेस में डेटा संग्रहीत करने और विश्लेषण के लिए छोटे बैचों में पढ़ने पर विचार करें। – jthetzel