2013-01-23 6 views
12

मुझे python mining में रुचि है डेटा रैम में बैठने के लिए बहुत बड़ा सेट है लेकिन एक ही एचडी में बैठा है।आउट-ऑफ-कोर गणना/डेटा खनन के लिए पायथन टूल

मैं समझता हूं कि मैं pytables का उपयोग कर डेटा को hdf5 फ़ाइलों के रूप में निर्यात कर सकता हूं। इसके अलावा numexpr कुछ मूलभूत आउट-ऑफ-कोर गणना के लिए अनुमति देता है।

अगला क्या होगा? जब संभव हो मिनी-बैचिंग, और रैखिक बीजगणित परिणामों पर भरोसा करने के लिए गणना को विघटित करने के लिए जब मिनी-बैचिंग का उपयोग नहीं किया जा सकता है?

या क्या कुछ उच्च स्तर के उपकरण हैं जिन्हें मैंने याद किया है?

अंतर्दृष्टि के लिए धन्यवाद,

उत्तर

3

sklearn 0.14 (आने वाले दिनों में जारी होने के लिए) टेक्स्ट दस्तावेज़ों के बाहर के मूल वर्गीकरण का एक पूर्ण उदाहरण है।

मुझे लगता है कि इसके साथ शुरू करने के लिए एक महान उदाहरण हो सकता है:

http://scikit-learn.org/dev/auto_examples/applications/plot_out_of_core_classification.html

अगली फिल्म में हम अधिक classifiers के साथ इस उदाहरण का विस्तार और उपयोगकर्ता मार्गदर्शिका में प्रलेखन जोड़ देंगे।

एनबी: आप इस उदाहरण को 0.13 के साथ भी पुन: पेश कर सकते हैं, सभी बिल्डिंग ब्लॉक पहले से ही वहां थे।

3

वास्तव में क्या आप — करने के लिए आप एक या दो कृपया उदाहरण दे सकता हूँ चाहते हैं?

numpy.memmap आसान —

एक सरणी डिस्क पर एक द्विआधारी फ़ाइल में संग्रहीत करने के लिए एक स्मृति-नक्शा बनाएं है।
स्मृति-मैप की गई फ़ाइलों का उपयोग डिस्क पर बड़ी फ़ाइलों के छोटे सेगमेंट तक पहुंचने के लिए किया जाता है, पूरी फ़ाइल को स्मृति में पढ़ने के बिना। Numpy के memmap की सरणी की तरह वस्तुओं रहे हैं ...

इतने पर भी numpy+memmap देखते हैं।

scikit-learn लोग बहुत जानकार हैं, लेकिन विशिष्ट प्रश्न पसंद करते हैं।

+0

उत्तर डेनिस के लिए धन्यवाद। ऐसा लगता है कि skilearn में मिनी बैचिंग सुविधाएं हैं। दरअसल मैं एक उप मानचित्र-आकार को कम करने के बाहर की कोर सीखने से निपटने के लिए सबसे तर्कसंगत तरीका ढूंढ रहा हूं। विशेष रूप से मैं hdf5, sql, nosql की सापेक्ष ताकत को समझने का प्रयास कर रहा हूं। – user17375

+0

ज़ेलाज़नी 7 का बड़ा डेटा-वर्क-फ्लो प्रश्न बेहतर है क्योंकि कंक्रीट, और बेहतर जवाब मिलते हैं – denis

3

मुझे उप मानचित्र पर काम करने की समान आवश्यकता है-आकार के डेटासेट को कम करें। मैंने एसएएस के गंभीर विकल्प के रूप में पाइथन पांडा की जांच शुरू कर दी थी: "Large data" work flows using pandas

वहां प्रस्तुत उत्तर पांडा से एचडीएफ 5 इंटरफ़ेस का उपयोग सीधे डिस्क पर पांडा डेटा संरचनाओं को स्टोर करने के लिए करता है। एक बार संग्रहीत हो जाने पर, आप बैचों में डेटा तक पहुंच सकते हैं और मॉडल को क्रमशः प्रशिक्षित कर सकते हैं। उदाहरण के लिए, विज्ञान-सीखने में कई कक्षाएं हैं जिन्हें डेटासेट के बढ़ते टुकड़ों पर प्रशिक्षित किया जा सकता है। ऐसा ही एक उदाहरण यहाँ पाया जाता है:

http://scikit-learn.org/0.13/modules/generated/sklearn.linear_model.SGDClassifier.html

किसी भी वर्ग को लागू करता है कि partial_fit विधि संवर्द्धित प्रशिक्षित किया जा सकता। मैं अभी भी इस तरह की समस्याओं के लिए व्यवहार्य वर्कफ़्लो प्राप्त करने की कोशिश कर रहा हूं और संभावित समाधानों पर चर्चा करने में रुचि रखूंगा।

संबंधित मुद्दे