মেশিন লার্নিং এর জন্য যত গুলা প্রোগ্রাম ব্যাবহার হয় তাদের মধ্যে অন্যতম হল ম্যাটলেব ,আর,সি++,জাভা,পাইথন ইত্যাদি। এদের মধ্যে ম্যাটলেব খুব ফাষ্ট একটা ল্যাঙ্গুয়েজ । তবে এটা ওপেন না। এর পরিবর্তে আমরা অকটেভ ও ব্যাবহার করতে পারি। তবে আমরা যখন মেশিন লার্নিং এর খুব এডভান্স ধাপে যাব তখন ম্যাটলেব থেকে পাইথন বেটার কারন এর লাইব্রেরি। পাইথন এর লাইব্রেরি গুলা মেশিন লার্নিং, ডীপ লার্নিং ,এন এল পি কে তুলনামূলক খুব ই সহজতর করে ফেলছে। আবার পাইথন ওপেন সোর্স ও ।যার কারণে আমরা শুরু থেকে পাইথন দিয়েই শুরু করব।
পাইথন কি এবং কেন আমরা পাইথন কেই প্রোগ্রামিং হিসেবে চয়েজ করলাম সেটা নিয়ে আলোচনা করা যাক।
পাইথন হল একটা হাই লেভেল অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজ । আমি যখন পাইথন প্রোগ্রামিং শুরু করতেছিলাম তখন হাই লেভেল এটা শুনে অনেকটা এর থেকে দূরে সরে যেতে চাইছিলাম ।প্রোগ্রামিং এ যত হাই লেভে্ল প্রোগ্রামিং ল্যাঙ্গুয়েজ তত মানুষের জন্য বুঝা সহজ । মানুষের ল্যাঙ্গুয়েজ এর যত কা্ছাকাছি প্রোগ্রামিং ল্যাঙ্গুয়েজ সেটা তত হাই লেভেল এর প্রোগ্রামিং ল্যাঙ্গুয়েজ ।সুতরাং বলাই যায় পাইথন একটা সহজ প্রোগ্রামিং ল্যাঙ্গুয়েজ ।আসলে পাইথন অন্য প্রোগ্রামিং এর তুলনায় অনেক অনেক সহজ একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ। অন্তত সি এর মত এত সেমিকোলন আর সেকেন্ড ব্র্যাকেট এর ঝামে্লা এর মধ্যে নাই।
পাইথন কি??
পাইথন হল একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ। ১৯৮০ সালের দিকে প্রথমGuido van Rossum পাইথন নামক একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি করেন ।যার নামকরন মূলত“Monty Python's Flying Circus" নামক একটি কমেডি শো থেকে করা হয়েছে। যেটি মূলত সত্তর এর দশকে বিবিসি তে দেখানো হত। Guido van Rossum মূলত একজন ডাচ বিজ্ঞানী। ১৯৮৯ সালের ডিসেম্বর মাসে পাইথন প্রোগ্রামিং হিসেবে শুরু হয় বিশ্বব্যাপি । আমরা মূলত পাইথন ৩ কেই ব্যাবহার করব। জুপিটর নোটবুক আমরা যখন পাইথন প্রোগ্রাম লিখতে যাব তখন পাইথন ৩ কেই সিলেক্ট করব পাইথন ২ কে নয়।
কেন পাইথন??
১। এটা খুব সহজ একটা প্রোগ্রামি্ং ল্যাঙ্গুয়েজ
বলতে গেলে সি, জাভা, আর, সি++ এর তুলনায় পাইথন অনেকগুন সহজ
২। এটা ফ্রি তে ব্যাবহার করা যাবে( ওপেন সোর্স সফটওয়্যার)
পাইথন যে কারো জন্য ফ্রি। এবং এটা চাইলেই কপি করতেই পারবেন
৩। এটা পোর্টেবল ।
এটাLinux, MS-DOS, MS-Windows (95, 98, NT), Macintosh, Amiga, Be-OS, OS/2, VMS, QNX, আরো অনেক গুলা অপারেটিং সিষ্টেম এ রান করা হয়েছে।
৪।এটা খুব পাওয়ারফুল
যদি ফিচার এর দিক চিন্তা করা হয় তাহলে পাইথন হল অনেকটা হাইব্রিড।
৫। হিউজ লাইব্রেরিঃ
মেশিন লার্নিং, ডীপ লার্নিং, ডেটা সাইন্স, নিউমেরিক প্রোগ্রামিং , ন্যাচালারল ল্যাঙ্গুয়েজ প্রসেসিং এর জন্য পাইথনের হিউজ লাইব্রেরি বিল্ড ইন করা আছে, যেটা পাইথনের পপুলারিটি অনেক গুন বাড়িয়ে দিয়েছে। মেশিন লার্নিং এর জন্য scikit-learn নিউমেরিক প্রোগ্রামিং এর জন্য Numpy , ডেটা সাইন্স এর জন্য pandas, ডীপ লার্নিং এর জন্য Tensorflow, kears সাইন্টিফিক ক্যালকুলেশন এর জন্য scipy ডেটা ভিজুয়েলাইজেশন এর জন্য maplotolib, seaborn, অবশ্যই সব গুলা লাইব্রেরি মেশিন লার্নিং , ডীপ লার্নিং এ ব্যাবহার হয় । মেশিন লার্নিং, ডীপ লার্নিং, NLP,ডেটা সাইন্স এগুলা একটার সাথে একটা জড়িত।
৬। ইমেজ প্রসেসিং ঃ
ইমেজ ও ভিডিও প্রসেসিং এর জন্য পাইথনে অনেক গু্লা লাইব্রেরি রয়েছে
আরো অনেক গুলা কারনে পাইথন কেই বেষ্ট চয়েজ হিসেবে রাখা যায় রাখা । তবে আমার কাছে এই কারণ গুলাই যথেষ্ট। স্পেশালি ১ এবং ৫ নাম্বার কারন। যেহেতু আমরা মেশিন লার্নিং এর জন্যই পাইথন কে শিখতেছি, সে হিসেবে পাইথন সবার উপরে লিষ্টে থাকবে।