ডেটা বিশ্লেষণের জন্য আর বনাম পাইথন [বন্ধ]


60

আমি প্রায় এক বছর ধরে প্রোগ্রামিং করছি এবং আমি ডেটা বিশ্লেষণ এবং মেশিন লার্নিংয়ে সত্যই আগ্রহী। আমি কয়েকটি অনলাইন কোর্সে অংশ নিচ্ছি এবং বেশ কয়েকটি বই পড়ছি।

আমি যা কিছু করছি সেগুলি আর বা পাইথন ব্যবহার করে এবং আমি একটি ভাষায় মনোনিবেশ করা উচিত (এবং যদি তাই হয়) বা উভয়কেই চালিয়ে যেতে হবে কিনা সে সম্পর্কে পরামর্শগুলি সন্ধান করছি; তারা একে অপরের পরিপূরক না?

- আমার উল্লেখ করা উচিত যে আমি স্কুলে সি # ব্যবহার করি তবে স্ব-অধ্যয়নের মাধ্যমে পাইথনের সাথে পরিচিত।


এখানে সম্ভবত একটি আকর্ষণীয় লিঙ্ক: کورسra.org/course/compdata
জর্জিও

উত্তর:


39

আমি পাইথন উভয় (নমপি এবং স্কিপি সহ ডেটা বিশ্লেষণের জন্য) এবং আর একে অপরের পাশে ব্যবহার করি। তবে আমি বিশ্লেষণ করে ডেটা বিশ্লেষণ করতে এবং পাইথনকে আরও জেনেরিক প্রোগ্রামিং কাজের জন্য (যেমন কম্পিউটারের মডেলের ওয়ার্কফ্লো নিয়ন্ত্রণ) ব্যবহার করি।

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

আপনার সহকর্মীরা এবং আপনার ক্ষেত্রের অন্যান্য ব্যক্তিরা কী ব্যবহার করছেন তা আমি আপনার চারপাশে একবার ঘুরে দেখব। পাইথন, যদি তারা সবাই ব্যবহার করে তবে তাদের কাছ থেকে আরও সহজে শিখতে এবং কোড বিনিময় করার জন্য এটির সাথে লেগে থাকার অর্থটি হবে make

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

PS: এই লিঙ্কটি আকর্ষণীয় হতে পারে: http://seanjtaylor.com/post/39573264781/the-statistics-software-signal

পিপিএস: বা এই পোস্ট থেকে এই উদ্ধৃতি :

আমি আমার সমস্ত গবেষণার জন্য আর এবং পাইথন ব্যবহার করি (প্রয়োজন হিসাবে আরসিপি বা সিথন সহ) তবে আমি এড়াতে পারলে বরং সি বা সি ++ তে লেখা এড়াতে চাই। ব্যবহারকারীদের অবিশ্বাস্য সম্প্রদায়ের কারণে আর একটি দুর্দান্ত অংশ R এটি পরিসংখ্যানবিদদের দ্বারা তৈরি করা হয়েছিল, যার অর্থ ডেটা বিশ্লেষণ ভাষার একেবারে কেন্দ্রস্থলে রয়েছে; আমি এটিকে ভাষার একটি প্রধান বৈশিষ্ট্য হিসাবে বিবেচনা করি এবং এটি যে কোনও সময়ে খুব শীঘ্রই প্রতিস্থাপন করা হবে না তার একটি বড় কারণ। পাইথন সাধারণত একটি সামগ্রিক ভাষা হয়, বিশেষত যখন আপনি অবজেক্ট অরিয়েন্টেশনের সাথে এর কার্যকরী প্রোগ্রামিংয়ের মিশ্রণটি বিবেচনা করেন। স্কিপি / নম্পি, পান্ডাস এবং স্ট্যাটাসমডেলের সাথে সংযুক্ত, এটি একটি শক্তিশালী সমন্বয় সরবরাহ করে। তবে পাইথনে এখনও পরিসংখ্যানবিদ / গণিতবিদদের একটি গুরুতর সম্প্রদায় নেই।


3
এই বলে যে আর পাইথন অনেক শক্তিশালী হয়, তাহলে আপনি বোঝাতে চেয়েছেন পাইথন + + numpy / আলোকচ্ছটা + + scipy , অথবা প্লেইন পাইথন?
9000

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

এটি বলেছিল, আমি মনে করি পাইথন + নম্পি + স্কিপি + সাইকিট বাছাই করা অবশ্যই নিখুঁত এবং দুর্দান্ত পছন্দ, এটি কেবলমাত্র আমি অনুভব করি যে আর কিছুটা দুর্দান্ত।
পল হিমস্ট্র্রা

@ পলহিমস্ট্র্রা - আপনি আপনার মন্তব্যে কিছু সুন্দর পয়েন্ট তৈরি করেছেন যা সম্ভবত আপনার উত্তরকে উন্নত করতে পারে - যদি প্রশ্নটি আবার খোলা হয় এবং আপনার সেই সুযোগটি রয়েছে।
PSr

@ পিএসএস আমি আমার মন্তব্যে সম্পাদনা করেছি, আমি সম্পাদনা করতে চাইলে প্রশ্নটি খোলার পক্ষে আপাতদৃষ্টিতে কোনও প্রয়োজন নেই (সম্ভবত কেবল আমি এটি সম্পাদনা করতে পারি ...)।
পল হিমস্ট্র্রা

36

পটভূমি: আমি অস্টিনে একটি প্রারম্ভকালে ডেটা বিজ্ঞানী এবং আমি গ্রেড স্কুল (পদার্থবিজ্ঞান) থেকে এসেছি। ডেটা বিশ্লেষণের জন্য আমি পাইথনকে প্রতিদিন ব্যবহার করি তবে কিছুটা আর ব্যবহার করি। আমি সি # /। নেট এবং জাভাও (প্রায় প্রতিদিনের প্রায়) ব্যবহার করি, গ্রেড স্কুলে আমি সি ++ বেশি ব্যবহার করি।

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

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

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

এবং আপনি যে জাভা কেবল জানেন (বলুন) জানেন তাদের সাথে / আপনি কাজ করতে পারেন এমনটি অবমূল্যায়ন করবেন না। এই লোকেরা আপনার পাইথন কোডটি খুব সহজেই পড়তে সক্ষম হবে। আপনি আর তে আপনার সমস্ত কাজটি করে ফেললে অগত্যা ক্ষেত্রে এটি হবে না (এটি অভিজ্ঞতা থেকে আসে))

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

এই সমস্ত কথাই বলা হচ্ছে, আমি নিম্নলিখিতগুলি প্রস্তাব করব (এটি আমার সাধারণ ওয়ার্কফ্লোও): যেহেতু আপনি পাইথনকে জানেন, সেটিকে আপনার প্রথম সরঞ্জাম হিসাবে ব্যবহার করুন। যখন আপনি পাইথনের অভাব দেখতে পান, তখন যা করতে চান তা করার জন্য পর্যাপ্ত পরিমাণে র শিখুন এবং তারপরে হয়:

  1. আর এ স্ক্রিপ্ট লিখুন এবং সাবপ্রসেস মডিউল ব্যবহার করে পাইথন থেকে চালনা করুন বা
  2. RPy মডিউলটি ইনস্টল করুন।

পাইথন যা ভাল তাতে পাইথন ব্যবহার করুন এবং উপরের যে কোনও একটি শূন্যস্থান পূরণ করুন। এটি আমার স্বাভাবিক কর্মপ্রবাহ --- আমি সাধারণত প্লট করার জন্য আর এবং ভারী উত্তোলনের জন্য পাইথন ব্যবহার করি।

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


ঠিক আছে, এটি কোনও স্ট্যাক সাইটে আমার সবচেয়ে জনপ্রিয় উত্তর (এখন পর্যন্ত), এবং এটি # 1ও নয় :) আমি আশা করি এটি পথ চলতে কয়েকজনকে সহায়তা করেছে।

যে কোনও হারে, আমি ক্ষেত্রের বেশ কয়েক বছর পরে নিম্নলিখিত সিদ্ধান্তে পৌঁছেছি:

এটি সম্ভবত জিজ্ঞাসা করা ভুল প্রশ্ন।

"আমি কি এই বিশেষ প্রযুক্তিটি শিখি" জিজ্ঞাসা করা একটি খারাপ প্রশ্ন। কেন?

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

ডেটা বিজ্ঞানী হিসাবে, আপনার কাজ সমস্যাগুলি সমাধান করা । জ্ঞানের এই একক বিটটি আপনি যে প্রতি সম্মেলনে বা মিটিংয়ে যান সর্বদা সর্বদা নষ্ট হয়ে যায় - আমি দেখেছি এমন প্রতিটি "বিগ ডেটা" আলাপ প্রযুক্তি সমাধানে মনোনিবেশ করেছে, সমস্যা সমাধানের দিকে নয়। আসল সমস্যা সমাধানটি সাধারণত শেষে কয়েকটি স্লাইডে প্রেরণ করা হয়:

[টক শিরোনাম = "দুর্দান্ত নতুন স্টার্টআপে গভীর শিক্ষা"] ... [৪৫ মিনিটের ডায়াগ্রাম এবং টেকনো-ব্যাবেল যার সময় আমি জোন আউট করি এবং আমার ফোনটি পরীক্ষা করি] ... এবং, আমাদের হাডোপ ক্লাস্টার এবং [বেন অঞ্চলগুলি কার্যকর করার পরে) আবার] আমরা আমাদের গভীর শিক্ষার রুটিন চালাতে পারি, [জাগ্রত করুন: এই কারণেই আমি এসেছি!] যার মালিকানাগুলি বিশদ। প্রশ্ন?

এটি একটি খারাপ ধারণা দেয় যে ক্ষেত্রটি প্রযুক্তি সম্পর্কে, এবং এটি ঠিক সত্য নয়। আপনি যদি স্কেলা, বা পাইথন বা আর তে সত্যিই ভাল হন তবে সমস্যা সমাধানে আপনি খুব খারাপ হন আপনি কোনও লস ডেটা বিজ্ঞানী তৈরি করবেন

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

তেমনিভাবে, আপনি যদি কোনও কাজের সাক্ষাত্কারে যান এবং আপনি কিছু প্রোগ্রামিং ভাষা জানেন না বলেই তারা আপনাকে নিয়োগ দেয় না, তবে সেই সংস্থাটি সফল হয় । তারা "ডেটা বিজ্ঞানী" এর অর্থ কী তা বুঝতে পারে না এবং এটি কার্যকর না হলে এটি সম্ভবত আপনার পক্ষে ভাল।

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


3
আমি বলব, যদিও আমি যদি কোনও ট্রেডিং ফ্লোরে কাজ করছিলাম এবং প্রধান ব্যবসায়ী আমার কাছে বিকল্প দামের সিএসভি নিয়ে এসেছিলেন এবং আমাকে লগ-লিনিয়ার বিতরণে তাদের ফিট করতে এবং গড় এবং মানক বিচ্যুতি ফিরিয়ে আনতে চেয়েছিলেন, আমি পাইথনকেও বিবেচনা করব না। আমার মনে হয় এটা আর এই কাজ করতে কোড তিন লাইন মত
BenDundee

12

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

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

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

আমার ধারণা, আমি প্রথমে কিছু কাগজপত্র দেখব এবং তারা কোন ভাষায় কোড পোস্ট করে তা দেখতে পাবে। যদি এটি আর তে না থাকে তবে এটি ব্যবহার করবেন না।


1
আপনাকে অনেক ধন্যবাদ. আমি অবশ্যই এমএল বিষয়গুলিতে আরও আগ্রহী।
The_Cthulhu_Kid 9'13

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

7

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

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

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

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

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


1

আর এর একটি প্রধান বৈশিষ্ট্য হ'ল এটি প্যাকেজগুলির একটি গ্রন্থাগার, এটি যতটা প্রোগ্রামিং ভাষা। প্রতিটি প্যাকেজ লেখকের নীতিগতভাবে, প্রতিটি অন্যান্য প্যাকেজটিতে যা রয়েছে তার অ্যাক্সেস রয়েছে। এটি নাটকীয়ভাবে প্রয়োজনীয়তা হ্রাস করে, পুনরায় উদ্ভাবন করা, পুনরায় দলিল করা, পুনরায় শেখার জন্য। এটি প্যাকেজ লেখক এবং ব্যবহারকারীদের ক্ষেত্রে উভয়ই প্রযোজ্য। অবশ্যই, এই পরিকাঠামোটি ব্যয় করে আসে। প্যাকেজ লেখকদের অবশ্যই এমন মানকগুলিকে সমন্বিত করতে হবে যা সময়ের সাথে সাথে ক্রমবর্ধমান সূক্ষ্ম হয়ে ওঠে। এর মধ্যে কিছু ব্যবহারকারীর মুখোমুখি হতে পারে into

পাইথনের প্যাকেজ ম্যানেজমেন্ট সিস্টেম নেই। আর এর সমন্বিত আর আর্কাইভ নেটওয়ার্ক ( http://cran.r-project.org ) এর সমতুল্য নেই, এবং আর টাস্ক ভিউগুলির ( http://cran.csiro.au/web/views/ ) কোনও সরাসরি সমতুল্য নেই । সুতরাং, এটি এমন একটি পরিমাণে যা আর এর ক্ষেত্রে হয় না, প্রোগ্রামারদের জন্য একটি সরঞ্জাম যা ইতিমধ্যে যা পাওয়া যায় তার উপর ভিত্তি করে সাম্যবাদী প্রচেষ্টার অংশ হিসাবে না হয়ে বরং তারা নিজেরাই অনেক বেশি কাজ করে।

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


3
পাইথনে পিপ নামে একটি প্যাকেজ ম্যানেজমেন্ট সিস্টেম রয়েছে। এটি স্ট্যান্ডার্ড লাইব্রেরির অংশ নয়, এটি পাইথন ৩.৪ থেকে শুরু করে স্ট্যান্ডার্ড পাইথন দিয়ে পাঠানো হবে যা পরের মাসে (মার্চ ২০১৪) প্রকাশিত হবে।
কোডি পিয়ার্সাল

2
বিস্তৃত আর আর্কাইভ নেটওয়ার্কের পাইথন সমতুল্য হল পাইপিআই
উইলফ্রেড হিউজেস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.