আউট-অফ-কোর ডেটা বিশ্লেষণ বিকল্পগুলি


18

আমি প্রায় 5 বছর ধরে পেশাগতভাবে এসএএস ব্যবহার করছি। আমি এটি আমার ল্যাপটপে ইনস্টল করেছি এবং প্রায়শই 1,000-2,000 ভেরিয়েবল এবং কয়েক লক্ষ লক্ষ পর্যবেক্ষণ সহ ডেটাসেটগুলি বিশ্লেষণ করতে হয়।

আমি এসএএস এর বিকল্পগুলি সন্ধান করছি যা আমাকে অনুরূপ আকারের ডেটা সেটগুলিতে বিশ্লেষণ পরিচালনা করতে দেয়। অন্যান্য ব্যক্তিরা এ জাতীয় পরিস্থিতিতে কী ব্যবহার করে তা আমি আগ্রহী। এটি অবশ্যই আজকের পদ্ধতিতে "বিগ ডেটা" নয়। বা আমার ডেটাসেটগুলি স্মৃতিতে ধরে রাখতে যথেষ্ট ছোট নয়। আমার একটি সমাধান দরকার যা হার্ড ড্রাইভে থাকা ডেটাতে অ্যালগরিদম প্রয়োগ করতে পারে। এগুলি আমি তদন্ত করে লাভ করি নি:

  1. আর - বিগমেমরি মেমরি থেকে সঞ্চিত ম্যাট্রিক তৈরি করতে পারে তবে উপাদানগুলি একই মোডে থাকতে হবে। আমি এমন ডেটা নিয়ে কাজ করি যা চরিত্র এবং সংখ্যাগুলির মধ্যে প্রায় 50/50 বিভক্ত। এফএফ প্যাকেজটি আমার যা প্রয়োজন প্রয়োজন তার কাছাকাছি চলে যায়, তবে কোন পদ্ধতিটি এর সাথে সামঞ্জস্যপূর্ণ তা আমি পুরোপুরি বুঝতে পারি না। আমি মনে করি সমর্থন কিছুটা সীমাবদ্ধ।
  2. পান্ডস - আমি আর এর পাইথোনিক বিকল্পটি নিয়ে খুব আগ্রহী ছিলাম, তবে এটিও সমস্ত ডেটা মেমরির মধ্যে ধারণ করে।
  3. বিপ্লব আর - এই এক প্রতিশ্রুতি বেশ খানিকটা দেখায়। আমার বাড়ির কম্পিউটারে আমার একটি অনুলিপি রয়েছে (আপনি যদি কাগলের জন্য সাইন আপ করেন তবে বিনামূল্যে) এবং এটিকে এসএএসের কার্যকর বিকল্প হিসাবে পরীক্ষা করতে পারিনি। এসএএস বিকল্প হিসাবে বিপ্লব আর-এর মন্তব্যগুলি অনেক প্রশংসিত।

ধন্যবাদ

আপডেট 1

যুক্ত করতে সম্পাদনা করা হচ্ছে যে আমি বাস্তব-জীবন, ব্যবহারিক সমাধানগুলি সন্ধান করছি যা লোকেরা সফলভাবে ব্যবহার করেছে। বেশিরভাগ ক্ষেত্রে, এসএএস আমাকে মেমরির সীমাবদ্ধতাগুলি সম্পর্কে কিছুটা চিন্তা না করে বড় ফাইলগুলিতে চাগতে দেয়। তবে এসএএস বাস্তবায়িত হয়েছে, কীভাবে ব্যবহারকারীর কাছে মেমরির পরিচালনা স্বচ্ছ করা যায় তা তারা নির্ণয় করেছিলেন। তবে, এটি ভারী হৃদয়ের সাথে যে আমি আমার কাজের জন্য এসএএস ব্যবহার করেছি (আমাকে করতে হবে) এবং একটি ফস বিকল্প পছন্দ করতে চাই যা আমাকে "বৃহত" ডেটাতে কাজ করতে দেয় যেখানে ডেটা কোথায় রয়েছে তা সম্পর্কে খুব কঠোর চিন্তা না করেই নির্দিষ্ট সময় (স্মৃতিতে বা ডিস্কে)

নিকটতম যে জিনিসগুলি আমি এসেছি সেগুলি হ'ল আর এর এফএফ প্যাকেজ এবং পাইথনের দিগন্তের কিছু যা ব্লেজ নামে পরিচিত । এবং তবুও, এই সমস্যাগুলি বহু বছর ধরে রয়েছে তাই বিশ্লেষকরা এই সময়ে কী করছেন? কীভাবে তারা স্মৃতি সীমাতে এই একই সমস্যাগুলি পরিচালনা করছে? অফারের বেশিরভাগ সমাধানগুলি মনে হয়:

  • আরও বেশি র্যাম পান - এটি কোনও ভাল সমাধান নয় im এমন কোনও ডেটাসেট সন্ধান করা সহজ যা র‌্যামকে অতিক্রম করতে পারে তবে এখনও একটি হার্ড-ড্রাইভে ফিট হয়। তদ্ব্যতীত, কাজের প্রবাহকে অনুসন্ধানের তথ্য বিশ্লেষণের সময় তৈরি হওয়া সমস্ত কাঠামোর সমন্বয় করতে হবে।
  • ডেটা সাবসেট করুন - এটি অনুসন্ধানের জন্য ঠিক আছে তবে ফলাফল চূড়ান্ত করতে এবং প্রতিবেদন করার জন্য নয়। অবশেষে, একটি সাবসেটে যা কিছু প্রক্রিয়া বিকাশ করা হয়েছে তা পুরো ডেটাসেটে প্রয়োগ করতে হবে (আমার ক্ষেত্রে, যাইহোক)।
  • ডেটা বিভক্ত করুন - এই লোকদের কাছ থেকে যারা এই কাজের প্রবাহটি বাস্তবায়িত করেন তাদের কাছ থেকে আমি আরও জানতে চাই। এটা কিভাবে সম্পন্ন করা হয়? কি সরঞ্জাম দিয়ে? এটি কি এমনভাবে করা যেতে পারে যা ব্যবহারকারীর কাছে স্বচ্ছ? (উদাহরণস্বরূপ, কিছু অন ডিস্ক ডেটা কাঠামো তৈরি করুন এবং ফ্রেম-ওয়ার হুডের নীচে ছাঁটাইয়ের যত্ন নেয়)।

1
Bit৪ বিট মেশিনে স্টাটার নতুন সংস্করণগুলির এই আকারের ডেটাসেটগুলির সাথে কোনও সমস্যা নেই (কারণ এই দিনগুলিতে 5 জিবি সহজেই র‍্যামে ফিট করে) তবে এসএএস-এর বাণিজ্যিক বিকল্পগুলির মধ্যে আপনার কি আগ্রহ আছে বা আপনি কেবল এফএসএসের দিকে তাকিয়ে আছেন?
শুক্র

1
হ্যাঁ, FOSS সমাধানগুলি আমি যা খুঁজছি are আমি একমত যে একটি ডেটাসেট 5 জিগ র‍্যামের সাথে ফিট করতে পারে তবে এটি অনুসন্ধানের তথ্য বিশ্লেষণের সময় তৈরি করা অপারেশন এবং অতিরিক্ত ডেটা স্ট্রাকচারও পরিচালনা করতে পারে। অপেক্ষাকৃত 4 গিগাবাইট র‌্যামের সাথে সজ্জিত বাণিজ্যিক ল্যাপটপগুলির সাথে এটি যুগল এবং ওএস এবং মেমরি ত্রুটিগুলি দ্বারা গ্রাহিত ওভারহেডটি খুব দ্রুত প্রদর্শিত হবে।
জেলাজনি 7

2
@ জেলাজনি 7: ল্যাপটপে আরও 4Gigs যুক্ত করা এখনকার দিনে খুব সস্তা হওয়া উচিত। :)
কৌতূহলী_কাট

3
আরেকটি বিকল্প হ'ল ডেটাবেজে ডেটা সংরক্ষণ করা (এসকিউএল বা অন্যথায়)। প্রায়শই, বিশ্লেষণের জন্য কেবলমাত্র ডেটাগুলির একটি উপসেট প্রয়োজন (ভেরিয়েবল 1:10, তবে 1: 1000 নয়) যা মেমরির সাথে খাপ খায়। যদি সাবসেটটি এখনও মেমরির চেয়ে বড় হয়, বিশ্লেষণগুলি বিশ্লেষণে করা যেতে পারে (ডাটাবেস থেকে 1000 ডাটা পর্যবেক্ষণের সময় একবারে লোড করা, যথাযথভাবে ফলাফলগুলি একসাথে শেষ করে দেওয়া)।
jthetzel

1
আপনার যদি ইতিমধ্যে না থাকে তবে আরও সম্পর্কিত আলোচনার জন্য সিআরএন - তে উচ্চ-পারফরম্যান্স কম্পিউটিং টাস্ক ভিউ হিসাবে এসও-তে বড় ডেটা প্রশ্নগুলি পর্যালোচনা করে নিশ্চিত হন ।
jthetzel

উত্তর:


3

যদি আপনি ৫০০,০০০ রেকর্ড এক্স এক্স ভেরিয়েবলের সর্বাধিক আউট করেন তবে আমি আপনার ল্যাপটপের জন্য র‍্যামের জন্য আরও কিছুটা অর্থ ব্যয় করব এবং এটি দিয়ে শেষ করব। আপনার যদি 16 গিগাবাইট থাকে, আপনি সম্ভবত সরাসরি আরে বর্ণনা করছেন এমন ডেটা সেটটি পড়তে পারেন। এবং এই মুহুর্তে, আপনি আরও অনেক কিছু করতে সক্ষম হবেন - এবং খুব দ্রুত .. তবে আপনি বলেন যে এটি কোনও বিকল্প নয়, তাই:

আর এর জন্য এসকিউএল-ভিত্তিক প্যাকেজগুলি দেখুন these এটি আপনাকে বাহ্যিক ডাটাবেসে সংযোগ করতে দেয় এবং এসকিউএল এর মাধ্যমে সেই টেবিলগুলিতে অ্যাক্সেস করতে দেয়। যেহেতু এসকিউএল বেশ সার্বজনীন (এবং যেহেতু আর ওপেন সোর্স), তাই আপনি কোড পরিবর্তন করেন বা এসএএস এ অ্যাক্সেস হারিয়ে ফেললে আপনার কোডটি হারাবে না। সবচেয়ে সহজ বহিরাগত ডাটাবেস সেটআপ করা RSQLiteতবে এখন পর্যন্ত দ্রুততম MonetDB.R( গতি পরীক্ষা )

আপনার বর্ণিত সমস্যার সম্ভবত কয়েকটি ভাল সমাধান রয়েছে, আমার অনুমান যে কেবল তাদের মধ্যে সমস্তরাই আর জড়িত;)


2

সম্ভবত আপনি যে অ্যাপ্লিকেশনগুলি / সমস্যাগুলি লক্ষ্য করছেন সেটি এবং এর বৈশিষ্ট্যগুলি সম্পর্কে তেমন কিছু নয় তবে আপনি ব্যবহার করছেন অ্যালগরিদম এবং রূপগুলি সম্পর্কে আরও about আরও দৃ concrete়ভাবে, বড় ডেটা হ্যান্ডেল করার জন্য, এসভিএম এর মতো জনপ্রিয় অ্যালগরিদমগুলির স্টোকাস্টিক গ্রেডিয়েন্ট বংশোদ্ভূত অনেকগুলি রূপগুলি উপস্থিত হয়েছিল যা এগুলি পরিচালনা করতে সক্ষম হয়।

সাইকিট এই কয়েকটি অ্যালগরিদমগুলির জন্য সহায়তা সরবরাহ করে (এসভিএম, কেএনএন, কুমিয়ানস, ...)। আমার ধারণা, এই দুর্দান্ত গ্রাফটি আপনাকে দ্রুত বের করতে সাহায্য করতে পারে, যদি বিজ্ঞানীরা আপনাকে আদৌ বোঝায়।

আশা করি এইটি কাজ করবে

দ্রষ্টব্য: নিম্নলিখিতটি zelazny7 দ্বারা করা মন্তব্যে একটি জবাব is

এখন আমি আপনাকে বুঝতে পেরেছি। আপনি যা খুঁজছেন তা হ'ল পান্ডাস । আলোচনার অংশটি একবার দেখুন। পান্ডার কর্মপ্রবাহ এবং পান্ডার সংক্ষিপ্তসার তুলনা করে একটি উপস্থাপনা রয়েছে। পান্ডা আপনাকে বিভিন্ন ফর্ম্যাটে ডেটা আমদানি করতে এবং এইচডিএফ 5 টেবিলগুলির একীকরণের মাধ্যমে বিগু ফাইলগুলি হ্যান্ডেল করতে দেয় । এছাড়াও, আপনি Scikit ইন্টারফেস করতে পারেন।


ধন্যবাদ! অ্যালগরিদমগুলিতে অবশ্যই কাজ করতে হবে on-lineবা মেমোরিতে পড়া ডেটার অংশগুলিতে এবং ডিস্কে আবার লেখা উচিত। সাইকিট দুর্দান্ত এবং আসলে এটিই আমি ব্যবহার করতে পছন্দ করতাম তবে এই অ্যালগোস প্রয়োগের আগে অনুসন্ধান, মুগিং এবং ডেটা প্রস্তুতির প্রয়োজনীয় প্রয়োজনীয় পদক্ষেপগুলির জন্য কোন সরঞ্জাম / কাজ-প্রবাহ / পন্থা বিদ্যমান? এই ভাষাগুলি এই পদক্ষেপগুলি পরিচালনা করতে পারে তবে আমি স্মরণে থাকা এই সমস্যাগুলি মোকাবেলা করতে হবে এমন ব্যক্তির কাছ থেকে সত্যই একটি উদাহরণ খুঁজছি।
জেলাজনি 7

আপনি যা খুঁজছেন তা দিয়ে আমি আমার উত্তর সম্পাদনা করেছি (অথবা তাই আমি বিশ্বাস করি!)
জেএমপিউচ

2

আপনি ইতিমধ্যে এসএএস-এর সাথে স্বাচ্ছন্দ্য বোধ করছেন এবং আপনার ডেটাসেটগুলি র‍্যামে ফিট করার জন্য যথেষ্ট ছোট, তবে সম্ভবত আপনি আপনার ল্যাপটপে যথেষ্ট পরিমাণ র‌্যাম ফিট করতে পারবেন না। যদি আপনি এসএএসের সাথে লেগে থাকতে আপত্তি করেন না, তবে আপনি কেবলমাত্র প্রচুর র‍্যামের সাথে কম্পিউটারে দূরবর্তীভাবে চলমান এসএএস-এর সাথে কীভাবে সংযুক্ত হন? কীভাবে এটি কাজ করে সে সম্পর্কে আমার কোনও ধারণা নেই তবে এই লিঙ্কগুলি আপনাকে শুরু করতে পারে।

পান্ডাস বা আর ব্যবহারের অন্যান্য দুর্দান্ত কারণ রয়েছে তবে আমি মনে করি না যে আপনার স্মৃতি সীমা সম্পর্কে চিন্তা করার দরকার আছে। আপনি যদি আপনার ল্যাপটপে পর্যাপ্ত মেমরি ফিট করতে না পারেন তবে পাইথন বা আর ইনস্ট্যান্সটি অন্য কোথাও চালনা করুন এবং এসএসএইচ, আইপিথন নোটবুক বা আরস্টুডিওর সাথে সংযুক্ত করুন।


1

গ্রাফচি দুর্দান্ত, এবং বিশাল ডেটাসেট পরিচালনা করতে পারে। এটি নিয়ে কাজ করতে কিছুটা ব্যথা হলেও এটি গ্রাফিকাল এবং অ-গ্রাফিকাল ডেটা পরিচালনা করতে পারে।


1

আমি সম্প্রতি এসফ্রেমস এবং গ্রাফ ল্যাব ক্রিয়েট জুড়ে এসেছি। পাইথনের জন্য এগুলি লাইব্রেরি রয়েছে যা আপনি পাইপী সাইট থেকে যে ধরণের কার্যকারিতা সন্ধান করছেন বলে মনে করে: "এসফ্রেম একটি স্কেলযোগ্য, বহিঃপ্রান্তের ডেটাফ্রেম, যা আপনাকে র‌্যামের পরিমাণের চেয়ে বড় ডেটাসেটের সাথে কাজ করতে দেয় allows আপনার সিস্টেমে। " সুতরাং পান্ডসে ডেটা ম্যানিপুলেশন কার্যকারিতা এবং এপিআই হিসাবে এটি ভাবুন তবে মেমরিতে প্রথমে সমস্ত ডেটা পুটিন ছাড়াই করুন। আমি জানি যতক্ষণ জানি এসফ্রেম বিনামূল্যে এবং মুক্ত উত্স open অন্যদিকে গ্রাফ ল্যাব এসফ্রেমে সঞ্চিত ডেটাতে বর্ণনামূলক এবং ভবিষ্যদ্বাণীমূলক (মেশিন লার্নিং) বিশ্লেষণ করার জন্য অ্যালগরিদম সরবরাহ করতে SFrame কার্যকারিতা তৈরি করে। গ্রাফ ল্যাব তৈরি করুন নিখরচায় / মুক্ত উত্স নয়, তবে একটি বিনামূল্যে ডেমো লাইসেন্স রয়েছে। যে কোনও ক্ষেত্রে, আপনার অ্যালগোরিদমগুলি কত পরিশীলিত হওয়া দরকার তার উপর নির্ভর করে এসফ্রেম আপনার পক্ষে যথেষ্ট।


-1

আপনি কি ফোর্টরানের মতো একটি "রিয়েল", অনুবাদ না-করা ভাষাকে বিবেচনা করেছেন?

দেখে মনে হচ্ছে এখন পর্যন্ত দেওয়া পরামর্শগুলি খুব বিক্রেতারা নির্ভরশীল বা ব্যাখ্যা করা হয়েছে ted তাত্পর্যপূর্ণ পদ্ধতি স্মৃতি তীব্র অ্যাপ্লিকেশনগুলিতে কুখ্যাতভাবে খারাপ। ম্যাটল্যাব "সি" এর চেয়ে কোনও ভাষার উচ্চ স্তরের হতে পারে তবে সি তে মেমরি হ্যান্ডলিং অপ্টিমাইজেশানগুলি এটি কয়েকগুণ দ্রুত ডেটা সেটগুলিকে হ্যান্ডেল করতে পারে যা কয়েক মিলিয়ন গুণ বড়।

"আর" এবং "পাইথন" উভয়ই দুর্দান্ত, উচ্চ স্তরের, প্রযুক্তিগতভাবে সমৃদ্ধ এবং উচ্চ ব্যবহৃত ভাষা। সেগুলিও ব্যাখ্যা করা হয়।

আপনি আর-অন-হ্যাডোপ দৃষ্টান্তগুলির মধ্যে একটি বিবেচনা করতে পারেন। (রিপি, অন্যরা) এর ম্যাপ্রেডস / হ্যাডোপ নির্দেশিকায় আর (উচ্চ স্তরের, প্রোগ্রামে সহজ) অনুবাদ করতে সক্ষম হওয়ার সুবিধা রয়েছে। হাদুপ একটি আকর্ষণীয় দরিদ্র-ম্যান্স মাল্টিপ্রসেসিং ক্লাস্টার তৈরি করতে পারে।

http://www.datadr.org/ <- (রিপি লিঙ্ক)

কয়েক দশক ধরে ফোর্টরান বিকাশ লাভ করছে। এটিতে খুব দক্ষ স্মৃতি পরিচালনা ও সংকলন রয়েছে। এটিতে কিছু উচ্চ স্তরের গ্রন্থাগারও রয়েছে যাতে এটি খুব প্রযুক্তিগতভাবে পরিশীলিত অপারেশনগুলি খুব সহজভাবে করতে পারে। আমি ম্যাটল্যাবে খেলনা সিএফডি করতে পারি, তবে বাস্তববাদী এবং স্ব-কোডেড কোনও কিছুর জন্য আমি "বিগ-আয়রন" প্রসেসিংয়ের জন্য ফোর্টরান এবং ডেটা উপস্থাপন / সংক্ষিপ্তকরণের জন্য ম্যাটল্যাব বা আর এর মতো কিছু ব্যবহার করব। কেউ বাণিজ্যিক সিএফডি সফ্টওয়্যার তৈরি করেন না যার "ইঞ্জিন" সংকলনের পরিবর্তে ব্যাখ্যা করা হয়। বেশ কয়েকটি বিক্রেতাদের সিএম বা ফোর্টরানে তাদের অর্থোপার্জনকারী সিএফডি কোডড রয়েছে। এসএএস মূলত সিটিতে লিখিত হয়েছিল ( লিঙ্ক )।

ফোর্টরান এবং রিপি অ্যাক্সেসযোগ্য। ম্যাটল্যাবের জন্য অর্থ ব্যয় হয় এবং যদি আমার কাজটির জন্য অর্থ প্রদান না করে থাকে তবে আমি এখনই আর বা পাইথন ব্যবহার করব।

আপডেট:
আমার পয়েন্টটি "সংকলিত" হয়েছিল। পাইথনের সিথন রয়েছে যা আক্ষরিকভাবে একই (মৌলিক) কোড ~ 1000x দ্রুত চালাতে পারে। এর অর্থ আপনার কাছে এমন ডেটা থাকতে পারে যা x 1000x ডলারের বেশি এবং প্রায় একই সময়ে এটি প্রক্রিয়া করে। সিথনকে পরিচ্ছন্নভাবে কাজ করা পাওয়া চ্যালেঞ্জ হতে পারে তবে " সেজে " এর মতো সরঞ্জামগুলি এটিকে ভালভাবে মুড়িয়ে রাখে। আরসিপ্পির অভিযোগ রয়েছে একই রকম, তবে আমি ব্যক্তিগতভাবে জানি না যে এটি আরও উন্নত।

আপনি যদি এটির বিষয়ে চিন্তা করেন তবে বৈজ্ঞানিক কম্পিউটিংয়ে আপনি চালিত প্রায় সমস্ত কিছুর মূলসূত্রগুলি, এমনকি ব্যাখ্যামূলক ভাষায়ও ফোর্টরান বা সংকলিত সি। বিএলএএস হ'ল ব্ল্যাকস; আপনি প্রতিবার ইডিএ করার সময় আপনি কোডটি পুনরায় উদ্ভাবন করছেন না । আপনার দোভাষী ভাষা সেই লাইব্রেরিগুলিকে কল করছে, যদিও এটি চালিত হয় খুব অদক্ষভাবে।

সরাইয়া হিসাবে, আপনি জেএমপি তাকান হতে পারে । এটির ইন্টারফেসটি ব্যবহার করা খুব সহজ এবং এটি খুব ভিজ্যুয়াল এক্সপ্লোরারি ডেটা বিশ্লেষণের ( ইডিএ ) জন্য দুর্দান্ত।


2
আপনি কীভাবে ফরট্রানের মতো সংকলিত ভাষার সাথে ডেটা অন্বেষণ করবেন? আমার জন্য ব্যাখ্যাযুক্ত ভাষার আবেদন, আরপিএল যা সমৃদ্ধ অন্তর্নিম্নতা সরবরাহ করে এবং আমি কী করছি তা দ্রুত শিখার পাশাপাশি নতুন লাইব্রেরি ফাংশনগুলির সাথে খেলতে সক্ষম করে যা আমার সাথে পরিচিত নয়।
Zelazny7

1
আরসিপিপি খুব ভাল বিকাশযুক্ত (কেবল সিআরএএন-এর বিপরীত ব্যবহার পরীক্ষা করে দেখুন), তবে সত্যিকারের সাথে সিথনের সাথে তুলনীয় নয়। আপনার যদি কিছু সংজ্ঞায়িত ফাংশন থাকে তবে হ্যাঁ আপনি আর ইনপুটটি নিতে পারেন, এটি সিপিতে প্রক্রিয়া করতে পারেন এবং ডেটা আর-তে ফিরিয়ে দিতে পারেন But তবে আপনি শীঘ্রই কোনও সিআরপি-তে কোনও সম্পূর্ণ আর স্ক্রিপ্ট সংকলন করবেন না।
রাসেলপিয়ের্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.