ডিসিশন ট্রি লার্নিং
কম্পিউটার বিজ্ঞানে, ডিসিশন ট্রি লার্নিং বলতে ডিসিশন ট্রি (Decision_tree) মডেল ব্যবহার করে কোন আইটেমকে পর্যবেক্ষণের মাধ্যমে টার্গেট মান সম্পর্কে সিদ্ধান্ত গ্রহণ করাকে বুঝায়।এটি একটি ভবিষ্যদ্বাণীমূলক মডেলিং পদ্ধতি যা পরিসংখ্যান(Statistics), ডেটা মাইনিং(Data_mining) এবং মেশিন লার্নিংয়ে (Machine_learning)ব্যবহৃত হয়। ট্রি মডেলে যেখানে টার্গেট ভেরিয়েবলগুলোকে স্বতন্ত্র (Discrete) মানের সেটে নেয়া হয় তাকে শ্রেণিবদ্ধকরণ ট্রি (classification trees) বলে। এই ট্রি কাঠামতে নোডগুলো ক্লাস লেবেলগুলিকে প্রকাশ করে এবং শাখাগুলো ( Branch) কনযাঙ্কশন এর বৈশিষ্টগুলোকে প্রকাশ করে যা ক্লাস লেবেলগুলিকে পরিচালনা করে। ট্রি মডেলে যেখানে টার্গেট ভেরিয়েবলগুলোকে ধারাবাহিক মানে (Continuous Value) নিতে পারে (সাধারণত বাস্তব সংখ্যা) তাকে রিগ্রেশন ট্রি (regression trees) বলা হয়।
ডিসিশন এনালাইসিসে, ডিসিশন ট্রি স্পষ্টভাবে সিদ্ধান্ত এবং সিদ্ধান্ত গ্রহণে ব্যবহৃত হয়। ডেটা মাইনিং এ ডিসিশন ট্রি ডেটা বর্ণনা করতে ব্যবহৃত হয়।
একটি সিদ্ধান্ত গাছ একটি হল decision support একটি ব্যবহার করে টুল গাছ মত মডেল সিদ্ধান্ত ও সহ সম্ভাব্য ফলাফল, এর সুযোগ ঘটনা ফলাফল, সম্পদ খরচ, এবং ইউটিলিটি । এটি একটি অ্যালগরিদম প্রদর্শন করার এক উপায় যা কেবলমাত্র শর্তাধীন নিয়ন্ত্রণ বিবৃতি ধারণ করে।
সিদ্ধান্তের গাছগুলি সাধারণত কোনও লক্ষ্যে পৌঁছানোর সম্ভাবনা কৌশল চিহ্নিত করতে সহায়তা করার জন্য , বিশেষত সিদ্ধান্ত বিশ্লেষণে অপারেশন গবেষণায় ব্যবহৃত হয় , তবে এটি মেশিন লার্নিংয়ের একটি জনপ্রিয় হাতিয়ারও ।
সাধারণ
ডিসিশন ট্রি লার্নিং পদ্ধতি সাধারণত ডেটা মাইনিং এ ব্যবহৃত হয়। ইনপুট ভেরিয়েবলের ভিত্তিতে একটি টার্গেট ভেরিয়েবলের মানের পূর্বাভাস দেয়ায় এই মডেলের লক্ষ।
শ্রেণিবদ্ধ উদাহরণগুলির জন্য ডিসিশন ট্রি একটি সহজ উপস্থাপনা।ধরে নেয়া যাক,সমস্ত ইনপুট বৈশিষ্ট্যগুলির সীমাবদ্ধ পৃথক ডোমেন রয়েছে এবং "শ্রেণিবদ্ধকরণ(Classification)" নামে একটি টার্গেট বৈশিষ্ট্য রয়েছে।শ্রেণিবদ্ধকরণের(classification) ডোমেনের প্রতিটি উপাদানকে একটি ক্লাস বলা হয়।শ্রেণিবদ্ধকরণ ট্রি (classification trees) একটি ট্রি যার প্রতিটি অভ্যন্তরীণ নোডগুলো ইনপুট ফিচারের সাথে লেবেল করা।কোনও লেবেলযুক্ত ইনপুট ফিচার নোড থেকে আগত আর্কগুলি টার্গেট বা আউটপুট ফিচারের প্রতিটি সম্ভাব্য মানগুলির সাথে লেবেলযুক্ত থাকে। ট্রির প্রতিটি নোড ক্লাসের উপর একটি শ্রেণি বা সম্ভাব্যতা বণ্টনের সাথে লেবেলযুক্ত করা হয়,এটি নির্দেশ করে,ডেটা সেটটিকে ট্রি দ্বারা একটি নির্দিষ্ট শ্রেণিতে শ্রেণিবদ্ধ করা হয়েছে ।
একটি ট্রি তৈরি করা হয় উৎস সেটটি বিভক্ত করে , ট্রির মূল নোড গঠন করে সাবসেটে ভাগ করা হয় - যা successor children গঠন করে। বিভক্তিকরণ নিয়ম এবং classification ফিচারের উপর ভিত্তি করে বিভক্ত(splitting ) করা হয়।এই প্রক্রিয়াটি পুনরাবৃত্ত পদ্ধতিতে প্রতিটি উৎসযুক্ত সাবসেটে পুনরাবৃত্তি করা হয় যাকে রিকারসিভ পার্টিশনিং (Recursive_partitioning) বলে। এই রিকারসিভ প্রক্রিয়া সম্পন্ন হবে যদি একটি নোডের সাবসেটের টার্গেট ভেরিয়েবলের মান একই হয়।
ডিসিশন ট্রি গাণিতিক এবং ধারণাগত কৌশলগুলির সংমিশ্রণ হিসাবেও বর্ণিত হতে পারে যা নির্দিষ্ট উপাত্তের সংকলনের বিবরণ, শ্রেণিবদ্ধকরণ এবং সাধারণীকরণে সহায়তা করে।
প্রকারভেদ
ডেটা মাইনিং এ প্রধানত দুই ধরনের ডিসিশন ট্রি ব্যবহার করা হয়।
- ক্লাসিফিকেশন ট্রি বিশ্লেষণ তখন হয় যখন ধারনাগত ফলাফলটি ডেটা ক্লাসের সাথে থাকে।
- রিগ্রেশন ট্রি
Overview
সিদ্ধান্ত গাছ একটি ফ্লোচার্ট-জাতীয় কাঠামো যেখানে প্রতিটি অভ্যন্তরীণ নোড একটি গুণাবলীর উপর "পরীক্ষার" প্রতিনিধিত্ব করে (যেমন একটি মুদ্রা উল্টানো মাথা বা লেজ আসে কিনা), প্রতিটি শাখা পরীক্ষার ফলাফলকে উপস্থাপন করে এবং প্রতিটি পাতার নোড একটি প্রতিনিধিত্ব করে ক্লাস লেবেল (সমস্ত বৈশিষ্ট্য গণনা করার পরে নেওয়া সিদ্ধান্ত)। মূল থেকে পাতার দিকে যাওয়ার পথগুলি শ্রেণিবিন্যাসের নিয়মকে উপস্থাপন করে।
ইন সিদ্ধান্ত বিশ্লেষণ , সিদ্ধান্ত গাছ এবং ঘনিষ্ঠভাবে সম্পর্কিত প্রভাব ডায়াগ্রাম একটি চাক্ষুষ এবং বিশ্লেষিত সিদ্ধান্ত সমর্থন টুল, যেখানে হিসাবে ব্যবহৃত হয় প্রত্যাশিত মান (অথবা প্রত্যাশিত ইউটিলিটি প্রতিদ্বন্দ্বী বিকল্প) গণনা করা হয়।
একটি সিদ্ধান্ত গাছের মধ্যে তিন ধরণের নোড থাকে: [1]
- সিদ্ধান্ত নোড - সাধারণত স্কোয়ার দ্বারা প্রতিনিধিত্ব করা
- চান্স নোড - সাধারণত চেনাশোনা দ্বারা প্রতিনিধিত্ব করা হয়
- শেষ নোড - সাধারণত ত্রিভুজ দ্বারা প্রতিনিধিত্ব করা হয়
সিদ্ধান্ত গাছগুলি সাধারণত অপারেশন গবেষণা এবং পরিচালনা পরিচালনাতে ব্যবহৃত হয় । , যদি বাস্তবে, সিদ্ধান্তগুলি অসম্পূর্ণ জ্ঞানের অধীনে পুনরায় প্রত্যাহার না করেই অনলাইনে নিতে হয়, তবে সিদ্ধান্তের গাছটিকে সম্ভাব্যতা মডেলের সাথে সেরা পছন্দের মডেল বা অনলাইন সিলেকশন মডেল অ্যালগরিদম হিসাবে সমান্তরাল করা উচিত । শর্তযুক্ত সম্ভাবনার গণনার জন্য বর্ণনামূলক উপায় হিসাবে সিদ্ধান্তের গাছগুলির আরেকটি ব্যবহার ।
সিদ্ধান্ত গাছ, প্রভাব ডায়াগ্রাম , ইউটিলিটি ফাংশন এবং অন্যান্য সিদ্ধান্ত বিশ্লেষণ সরঞ্জাম এবং পদ্ধতিগুলি ব্যবসায়, স্বাস্থ্য অর্থনীতি এবং জনস্বাস্থ্যের স্কুলগুলিতে স্নাতক শিক্ষার্থীদের শেখানো হয় এবং এটি অপারেশন গবেষণা বা পরিচালনা বিজ্ঞানের পদ্ধতির উদাহরণ ।
সিদ্ধান্ত গাছের বিল্ডিং ব্লক
সিদ্ধান্ত গাছের উপাদানসমূহ
বাম থেকে ডানে আঁকা, একটি সিদ্ধান্তের গাছটিতে কেবল নোড (বিভাজক পাথ) ফোটে তবে কোনও সিঙ্ক নোড থাকে না (রূপান্তরকারী পাথ)। অতএব, ম্যানুয়ালি ব্যবহৃত হয়, এগুলি খুব বড় হয়ে উঠতে পারে এবং হাত দিয়ে পুরোপুরি আঁকতে প্রায়শই শক্ত হয়। Ditionতিহ্যগতভাবে, সিদ্ধান্ত গাছগুলি ম্যানুয়ালি তৈরি করা হয়েছে - যেমন সরল উদাহরণ থেকে দেখা যায় - যদিও ক্রমবর্ধমান, বিশেষায়িত সফ্টওয়্যার নিযুক্ত করা হয়েছে।
সিদ্ধান্তের নিয়ম
সিদ্ধান্ত গাছ যাবে একরৈখিক মধ্যে সিদ্ধান্ত নিয়ম , [2] যেখানে ফলাফল পাত নোড বিষয়বস্তু, এবং পথ বরাবর অবস্থার যদি দফা একটি সংযোগ গঠন করে। সাধারণভাবে, বিধিগুলির ফর্ম রয়েছে:
- যদি CONDITION1 এবং শর্ত 2 এবং condition3 তারপর ফলাফল।
ডানদিকে লক্ষ্য ভেরিয়েবলের সাথে সমিতি বিধিগুলি তৈরি করে সিদ্ধান্তের বিধি তৈরি করা যেতে পারে । এগুলি সাময়িক বা কার্যকারক সম্পর্ককেও বোঝাতে পারে। [3]
ফ্লোচার্ট প্রতীক ব্যবহার করে সিদ্ধান্ত গাছ
অনেকের পক্ষে পড়া এবং বোঝা সহজ হওয়ায় সাধারণত একটি সিদ্ধান্ত গাছ ফ্লোচার্ট প্রতীক ব্যবহার করে টানা হয় ।
বিশ্লেষণ উদাহরণ
বিশ্লেষণ সিদ্ধান্ত গ্রহণকারীর (যেমন, সংস্থার) পছন্দ বা ইউটিলিটি ফাংশনকে বিবেচনা করতে পারে , উদাহরণস্বরূপ:
এই পরিস্থিতিতে মূল ব্যাখ্যাটি হ'ল সংস্থাটি বি এর ঝুঁকি এবং অগ্রাধিকারকে বাস্তবসম্মত ঝুঁকি অগ্রাধিকার সহগগুলির অধীনে (ঝুঁকি বিপর্যয়ের এই পরিসরে $ 400K greater এর চেয়ে বেশি, সংস্থাটি একটি তৃতীয় কৌশল মডেল করতে হবে, "না এ এবং বি নয়)" ।
অপর একটি উদাহরণ, যা অপারেশন গবেষণা কোর্সে সাধারণত ব্যবহৃত হয় , তা হল সমুদ্র সৈকতে লাইফগার্ড বিতরণ (যেমন "লাইফের একটি সৈকত" উদাহরণ)। [4] উদাহরণটিতে প্রতিটি বিচে বিতরণ করার জন্য লাইফগার্ড সহ দুটি বিচ বর্ণনা করা হয়েছে। সর্বাধিক বাজেট বি রয়েছে যা দুটি সমুদ্র সৈকতের মধ্যে বিতরণ করা যেতে পারে (মোট) এবং একটি প্রান্তিক রিটার্ন টেবিল ব্যবহার করে বিশ্লেষকরা সিদ্ধান্ত নিতে পারেন যে প্রতিটি সৈকতে কত লাইফগার্ড বরাদ্দ করতে হবে।
প্রতিটি সৈকতে লাইফগার্ডস | জলস্রোত মোট আটকেছে, সৈকত # 1 | ডুবে যাওয়া মোট রোধ করা হয়েছে, সৈকত # 2 |
---|---|---|
1 | 1 | 3 |
2 | 4 | 0 |
এই উদাহরণস্বরূপ, সৈকত # 2 এ রিটার্ন হ্রাসের নীতিগুলি চিত্রিত করার জন্য একটি সিদ্ধান্ত গাছ আঁকতে পারে ।
সিদ্ধান্ত গাছটি ব্যাখ্যা করে যে ক্রমানুসারে লাইফগার্ড বিতরণ করার সময়, সৈকত # 1 এ প্রথম লাইফগার্ড স্থাপন করা সর্বোত্তম হবে যদি কেবলমাত্র 1 লাইফগার্ডের জন্য বাজেট থাকে। তবে যদি দু'জন রক্ষীর জন্য বাজেট থাকে, তবে উভয় সমুদ্র সৈকতে 2 রাখলে আরও সামগ্রিক ডুবে যাওয়া রোধ হবে।
প্রভাব ডায়াগ্রাম
সিদ্ধান্তের গাছের বেশিরভাগ তথ্যই প্রভাবের চিত্র হিসাবে আরও নিখুঁতভাবে উপস্থাপিত হতে পারে , ইভেন্টগুলির মধ্যে সমস্যা এবং সম্পর্কের দিকে মনোনিবেশ করে।
সমিতির বিধি অন্তর্ভুক্তি
সিদ্ধান্ত গাছগুলিকে অভিজ্ঞতামূলক ডেটা থেকে আনয়ন বিধিগুলির জেনারেটাল মডেল হিসাবেও দেখা যেতে পারে । স্তরের সংখ্যা (বা "প্রশ্ন") হ্রাস করার সময় একটি সর্বোত্তম সিদ্ধান্ত গাছটিকে এমন গাছ হিসাবে সংজ্ঞায়িত করা হয় যা বেশিরভাগ ডেটার জন্য অ্যাকাউন্ট করে। []] এই জাতীয় অনুকূল গাছগুলি তৈরি করতে বেশ কয়েকটি অ্যালগরিদম তৈরি করা হয়েছে, যেমন আইডি 3/4/5 , [6] সিএলএস, সহায়ক ও কার্ট।
সুবিধা এবং অসুবিধা
সিদ্ধান্ত সমর্থনের সরঞ্জামগুলির মধ্যে, সিদ্ধান্তের গাছগুলি (এবং ডায়াগ্রামকে প্রভাবিত করে ) এর বিভিন্ন সুবিধা রয়েছে। সিদ্ধান্ত গাছ:
- বুঝতে এবং ব্যাখ্যা সহজ। সংক্ষিপ্ত ব্যাখ্যার পরে লোকেরা সিদ্ধান্ত গাছের মডেলগুলি বুঝতে সক্ষম হয়।
- এমনকি সামান্য হার্ড ডেটা সহ মান আছে। বিশেষজ্ঞরা কোনও পরিস্থিতির (তার বিকল্প, সম্ভাবনা এবং ব্যয়) বর্ণনা এবং ফলাফলগুলির জন্য তাদের পছন্দগুলির উপর নির্ভর করে গুরুত্বপূর্ণ অন্তর্দৃষ্টি তৈরি করতে পারে।
- বিভিন্ন পরিস্থিতিতে সবচেয়ে খারাপ, সেরা এবং প্রত্যাশিত মান নির্ধারণে সহায়তা করুন।
- একটি সাদা বক্স মডেল ব্যবহার করুন । যদি কোনও প্রদত্ত ফলাফল কোনও মডেল সরবরাহ করে।
- অন্যান্য সিদ্ধান্তের কৌশলগুলির সাথে একত্রিত করা যেতে পারে।
সিদ্ধান্ত গাছের অসুবিধা:
- এগুলি অস্থিতিশীল, অর্থাত্ ডেটাতে একটি সামান্য পরিবর্তন আনলে সর্বোত্তম সিদ্ধান্ত গাছের কাঠামোতে বৃহত্তর পরিবর্তন হতে পারে।
- এগুলি প্রায়শই তুলনামূলকভাবে ভুল। অন্যান্য অনেক ভবিষ্যদ্বাণী একই জাতীয় ডেটা দিয়ে আরও ভাল পারফর্ম করে। এটি একক সিদ্ধান্ত গাছের স্থলে সিদ্ধান্ত গাছের এলোমেলো বন দ্বারা প্রতিস্থাপন করা যেতে পারে , তবে একটি এলোমেলো বন একটি একক সিদ্ধান্ত গাছ হিসাবে ব্যাখ্যা করা তত সহজ নয়।
- বিভিন্ন সংখ্যার স্তরের সহ শ্রেণীবদ্ধ ভেরিয়েবল সহ ডেটাগুলির জন্য, সিদ্ধান্তের গাছগুলিতে তথ্য প্রাপ্তি আরও স্তরের সাথে সেই বৈশিষ্ট্যের পক্ষে পক্ষপাতদুষ্ট থাকে। [7]
- গণনাগুলি খুব জটিল হয়ে উঠতে পারে, বিশেষত যদি অনেক মানগুলি অনিশ্চিত হয় এবং / অথবা যদি অনেকগুলি ফলাফল যুক্ত হয়।
ডিসিশন ট্রি কিভাবে কাজ করে? খালি চোখে আইরিস ডেটাসেট
মেশিন লার্নিং এর অ্যালগরিদম নিয়ে কথা কম কেন?
আমি সাধারণত: মেশিন লার্নিং এর অ্যালগরিদম নিয়ে কম কথা বলি। প্রথমত: আমি রিসার্চ করতে বসিনি। বরং, বহু বছরের রিসার্চ থেকে পাওয়া আউটকামকে একটা প্রোডাক্টে ট্রান্সফর্ম করার মানসিকতা থেকে কাজ করি বেশিরভাগ সময়ে। দ্বিতীয়তঃ, প্রায়োরিটি। এই অল্প সময়ের যুগে কেচে গন্ডুস করে পুরনো জিনিস না ঘেঁটে বরং সেটাকে কিভাবে ব্যবহারযোগ্য করা যায় সেটার পেছনে সময় দেই বেশি।
আমার অভিজ্ঞতায় বলে, কোন অ্যাপ্লিকেশনে কোন ধরনের অ্যালগরিদম ভালো কাজ করে সেটা অনেকটাই স্ট্যান্ডার্ড হয়ে গেছে ইন্ডাস্ট্রিতে। সেই জিনিসটা ঠিকমতো জানলে কাজ শুরু করা যায় এ মুহূর্তে। অ্যালগরিদম কিভাবে কাজ করে সেটার পেছনে প্রচুর সময় দিয়ে আসল সময়ে মানে প্রোডাক্ট ডেভেলপমেন্ট এর সময় উৎসাহ হারিয়ে ফেলেন অনেকে। এখন, কেউ যদি একাডেমিক ফিল্ডে রিসার্চ করতে চান, তাদেরকে তো নতুন অ্যালগরিদম তৈরি করতে মানা করছেন না কেউ। তবে, পৃথিবীতে এতোই অ্যালগরিদম আছে যে সেগুলোর হাইপার-প্যারামিটারগুলোকে ঠিকমতো টিউন করতেই চলে যাবে বছরের পর বছর, সেখানে আমি এটার ব্যবহারিক দিক নিয়েই সন্তুষ্ট। আমার দরকার প্রোডাক্ট। সরকারের হয়ে বিশ্বের বড় বড় কোম্পানিগুলোর সাথে কাজ করতে গিয়ে এই উপলব্ধিটা কাজ করেছে বেশি। প্রজ্ঞা কিভাবে এলো তার থেকে দরকার বেশি সেই প্রজ্ঞা নিয়ে কী করতে চাই আমরা?
মডেল ইন্টারপ্রেটেশন
তবে, মডেল ইন্টারপ্রেটেশনে মানুষের বোঝার জায়গাটা কিছুটা লিমিটেড হয়ে আসছে আস্তে আস্তে। যেমন, আমরা দেখেছি ‘ডিসিশন ট্রি’ কিন্তু বেশ ইনট্যুটিভ, পাশাপাশি তাদের সিদ্ধান্ত নেবার ধারণাগুলো কিন্তু সহজেই ইন্টারপ্রেট করা যায়। এই মডেলগুলোকে আমরা সাধারণত: ‘হোয়াইট বক্স’ মডেল বলি। মানে, বাইরে থেকে বোঝা যায় কিভাবে মডেলটা সিদ্ধান্ত নিচ্ছে। খালি চোখে।
এদিকে আমার দেখা সবচেয়ে বেশি ব্যবহার করা ‘র্যান্ডম ফরেস্ট’ মডেল অথবা নিউরাল নেটওয়ার্ক এর ভেতরে কি হচ্ছে সেটা জানা মানুষের পক্ষে অনেকটাই দুষ্কর হয়ে যাচ্ছে কমপ্লেক্সিটির কারণে। অংকের জোরে এরা বেশ ভালো প্রেডিকশন দিচ্ছে বটে, আমাদের আশেপাশে ক্যালকুলেশন বলছে তাদের আউটকামগুলো আগের অ্যালগরিদম থেকে বেশ ভালো অ্যাক্যুরেসি দিচ্ছে। তবে যে জিনিসটা মানুষ বুঝতে পারছে না বা সাধারণভাবে আমরা ধরতে পারছি না যে - কেন এই প্রেডিকশনগুলো ঘটছে? কারণ, এতো ডেটার মধ্যে এই অংকের হিসেব বের করা সাধারণ মানুষের পক্ষে অসম্ভব হয়ে দাঁড়িয়েছে।
ধরুন, আমাদের নিউরাল নেটওয়ার্ক একটা ছবি থেকে একজন মানুষকে ঠিকমতো বের করতে পেরেছে, এখন মানুষ হিসেবে আমাদের বোঝাটা বেশ দুষ্কর যে - কোন বিশেষ এট্রিবিউটগুলো আসলে এই প্রেডিকশনকে ‘কন্ট্রিবিউট’ করেছে? মডেলটা কি ওই মানুষটার চোখ দেখে মানুষটাকে চিনেছে, নাকি তার মুখের কিছু ফিচার অথবা নাক নাকি তার দাঁড়ানোর ভঙ্গি? নাকি সে সবসময় যে ধরনের ব্যাকগ্রাউন্ড ব্যবহার করেন সেটা থেকে? হাজারো ডেটা পয়েন্ট থেকে কোন ডেটাগুলো এই ব্যাপারগুলোকে ‘কন্ট্রিবিউট’ অথবানেগেটিভলি কো-রিলেট করছে সেটা সাধারণ পার্সপেক্টিভ থেকে বের করা কঠিন।
অনেক অ্যালগরিদম নিয়ে কাজ করা হয়েছে এর মধ্যে। সেদিক থেকে মানুষকে বোঝানোর জন্য আমার প্রিয় একটা মডেল হচ্ছে এই ডিসিশন ট্রি। এটা মানুষের বোঝার মতো করে খুবই সহজ ক্লাসিফিকেশন/রিগ্রেশন রুলগুলো দেখিয়ে দেয় আমাদের। আমার আগের বইটাতে এই ডিসিশন ট্রি নিয়ে একটা বড় চ্যাপ্টার লিখেছিলাম। যেহেতু পুরো বইটা আছে ইন্টারনেটে, দেখে নিতে পারেন একটু। তবে না দেখলে সমস্যা নেই। আমি এখানে সে জিনিসটা কাভার করে দেব পাইথনের লাইব্রেরি দিয়ে।
পৃথিবীর এই অসম্ভব জনপ্রিয় এবং প্রচন্ড ক্ষমতাশালী অ্যালগরিদম ‘র্যান্ডম ফরেস্টে’র মূল ভিত্তি কিন্তু এসেছে এই ‘ডিসিশন ট্রি’ থেকে। আর সেকারণে এই চ্যাপ্টারে আমরা দেখাবো কিভাবে একটা ডিসিশন ট্রি ব্যবহার করে এই আইরিস ডেটা সেটের প্রেডিকশন করতে হয়। এর অর্থ হচ্ছে একটা ‘এন্ড টু এন্ড’ ডেমনস্ট্রেশন। আমাদের সাইকিট-লার্ন এখানে একটা ‘কার্ট’ - ‘ক্লাসিফিকেশন এন্ড রিগ্রেশন ট্রি’ অ্যালগরিদম ব্যবহার করে যেই সিদ্ধান্তের গাছগুলোকে বড় করার জন্য, যেটা আসলে একটা বাইনারি ট্রি।
এখানে পাতা ছাড়া (লীফ নয়) নোডগুলোতে সব সময় দুটো চিল্ড্রেন থাকে। এর মানে হচ্ছে শুধুমাত্র প্রশ্নের হ্যাঁ অথবা না উত্তর এর উপর ভিত্তি করে সিদ্ধান্তের গাছটা বড় হতে থাকে। অরালিয়েন জেরোনের বইটা থেকে নিয়ে এলাম ধারণাটাকে। হাতেকলমের জন্য একটা অসাধারণ বই।
হাতেকলমে ডিসিশন ট্রি
ডিসিশন ট্রি বোঝার আগে লোড করে নেই আমাদের আইরিস ডেটাসেট। প্রেডিকশন করার পর আউটপুটের গ্রাফ ডেফিনিশন থেকে বুঝে যাব কিভাবে এই ডিসিশনট্রিটা প্রেডিক্ট সিদ্ধান্ত নিল। তৈরি তো আপনারা?
ইমপোর্ট করে নিলাম ডিসিশন ট্রি ক্লাসিফায়ারকে। বোঝার সুবিধার জন্য আমাদের ডিসিশন ট্রি এর ডালপালা বেশি বাড়তে দিলাম না শুরুতেই। পাশাপাশি আমাদের আইরিস ডেটাসেটের পুরো চারটা ফিচার নিয়ে সিদ্ধান্তের গাছপালা তৈরি করলে সেটার ডালপালা অনেক বড় হয়ে যেতে পারে বলে সেটাকে কমিয়ে দিলাম দুটো ফিচারে। এখানে নামপাই এর অ্যারে স্লাইসিং ব্যবহার করছি দরকারি ফিচারগুলোকে এক্সট্র্যাক্ট করার জন্য। আমাদের চেষ্টা থাকবে ব্যাপারটাকে আগাগোড়া বুঝতে। আর সে কারণেই ফেলে দিলাম বেশি বেশি কম্প্লেক্সিটি - এই হাইপার-প্যারামিটারে।
[ ]
[ ]
[ ]
[ ]
[ ]
*ছবিটা তৈরি করি *
আমাদের গ্রাফ ডেফিনেশন ফাইলটাকে আমাদের প্রয়োজনীয় ‘ভিউয়েবল’ ফরম্যাটে কনভার্ট করে নেই। পিএনজি। গুগল কোলাবের ভেতরে ইনলাইন মোডে দেখার জন্য একটা নতুন মেথড কল করে নিয়ে আসি। অসাধারণ। আমাদের এই প্রথম ডিসিশন ট্রিটা দেখতে কিছুটা এরকম হবে। এখন দেখে আসি কিভাবে এই ডিসিশন ট্রিটা প্রেডিকশন করছে? এর ডেপ্থ লেভেল মাত্র ২। পাশাপাশি ব্যবহৃত ফিচারের সংখ্যাও ২। ফুলের পেটাল এর দৈর্ঘ্য এবং প্রস্থ। দুটো সংখ্যা। এর মানে ডিসিশন ট্রিএর ডালপালা অনেকটাই ছেঁটে ফেলে দিয়েছি কমপ্লেক্সিটি এড়াতে।
[ ]
আমাদের গ্রাফ ডেফিনেশন ফাইলটাকে আমাদের প্রয়োজনীয় ‘ভিউয়েবল’ ফরম্যাটে কনভার্ট করে নেই। পিএনজি। গুগল কোলাবের ভেতরে ইনলাইন মোডে দেখার জন্য একটা নতুন মেথড কল করে নিয়ে আসি।
অসাধারণ। আমাদের এই প্রথম ডিসিশন ট্রিটা দেখতে কিছুটা এরকম হবে। এখন দেখে আসি কিভাবে এই ডিসিশন ট্রিটা প্রেডিকশন করছে? এর ডেপ্থ লেভেল মাত্র ২। পাশাপাশি ব্যবহৃত ফিচারের সংখ্যাও ২। ফুলের পেটাল এর দৈর্ঘ্য এবং প্রস্থ। দুটো সংখ্যা। এর মানে ডিসিশন ট্রিএর ডালপালা অনেকটাই ছেঁটে ফেলে দিয়েছি কমপ্লেক্সিটি এড়াতে।
[ ]
*খালি চোখে প্রেডিকশন *
ধরুন, আপনার বন্ধু আপনাকে একটা আইরিস প্রজাতির ফুল উপহার দিয়েছেন। আপনি সেই ফুলের প্রজাতি দিয়ে ক্লাসিফাই করতে চান। স্বাভাবিকভাবেই আপনি শুরু করবেন রুট নোড দিয়ে। এর ডেপ্থ হচ্ছে ০, শুরু হবে একদম উপর থেকে। এই নোডে তার প্রশ্ন হবে - এই ফুলটার পেটাল দৈর্ঘ্য ২.৪৫ সেন্টিমিটার থেকে কম কিনা? প্রশ্নের উত্তর যদি হ্যাঁ মানে সত্যি হয় তাহলে সেটা চলে যাবে রুট নোড ধরে বাঁ দিকের চাইল্ড নোডে। এটার ডেপথ হচ্ছে ১, ছবিতে দেখুন এটা আছে বাঁদিকের লিফ নোড এ। এটা লীফ নোড কারণ এর কোন চাইল্ড নোড নেই। মানে - এর কোন সত্য বা মিথ্যা হবার জন্য নতুন কোন প্রশ্নের সম্মুখীন হতে হবে না। এই লীফ নোড এর বক্সের ভেতরে তাকালেই বুঝতে পারব আমাদের প্রেডিকটেড ক্লাস কি? এখানে আমাদের ডিসিশন ট্রি প্রেডিক্ট করে দিয়েছে যে - আমাদের ফুলটা হচ্ছে আইরিস- সেটোসা প্রজাতির।
আরেকটা প্রেডিকশন
ধরুন, এবার আপনাকে আরেকটা ফুল দেওয়া হলো, তবে এবার সেটার পেটাল দৈর্ঘ্য ২.৪৫ সেন্টিমিটার থেকে বেশি। তাহলে কি হবে? প্রশ্নের উত্তর ‘না’ মানে মিথ্যা হওয়াতে আমাদের সিদ্ধান্ত নিচে নেমে রুট নোডের ডান দিকে চাইল্ড নোডে এসে দাঁড়াবে। এটার ডেপ্থ হচ্ছে এক এবং ডানের বক্স। দেখা যাচ্ছে যে এটা কিন্তু লীফ নোড না,তার মানে আমাদেরকে আর একটা প্রশ্নের সম্মুখীন হতে হবে। নতুন প্রশ্ন হচ্ছে - ফুলের পেটাল প্রস্থ কি ১.৭৫ সেন্টিমিটারের কম কিনা? যদি প্রশ্নের উত্তর সত্যি হয় তাহলে ফুলটি আইরিস-ভার্সিকালার হবার সম্ভাবনা বেশি। এটার ডেপ্থ দ্বিতীয় লেভেলের এবং বামের লীফ নোট। এই প্রশ্নের উত্তর যদি ‘না’ হয়, তাহলে এটা আইরিস-ভার্জিনিকা হবে। এটার ডেপথ লেভেল ২, ডানের লীফ নোড।
ট্রেনিং ইন্সট্যান্স
আমাদের রুট নোডের ‘অ্যাট্রিবিউট’ এর সংখ্যা দিয়ে বোঝা যায় যে কতগুলো ‘ট্রেনিং ইন্সট্যান্স’ এই নোডের ওপর কাজ করবে। রুট নোডে এটা পুরো ১৫০টা ‘ট্রেনিং ইন্সট্যান্স’ এর ওপর কাজ করবে। যেহেতু, পুরো ডেটসেট ৫০ করে তিনটা প্রজাতিকে আলাদা আলাদা করে রিপ্রেজেন্ট করছে। ৫০, ৫০, এবং ৫০। পাশাপাশি দেখা যাচ্ছে ১০০টা ট্রেনিং ‘ইনস্ট্যান্স’ এর পেটাল দৈর্ঘ্য ২.৪৫ সেন্টিমিটারের বেশি। এটার ডেপ্থ ১ এবং বামের চাইল্ড নোড। এই ১০০ এর মধ্যে ৫৪টা ফুলের পেটাল প্রস্থ ১.৭৫ সেন্টিমিটারের কম। এটার ডেপ্থ ২ এবং জিনিসটা বামের লীফ নোড। একটা নোডের ভ্যালু ‘অ্যাট্রিবিউট’ বলছে কয়টা ‘ট্রেনিং ইনস্ট্যান্স’ কাজ করছে ওই একেকটা ক্লাসের ওপর। যেমন, সবচেয়ে নিচের ডানের লীফ নোড বলছে এই ইনস্ট্যান্স এর মধ্যে ০টা হচ্ছে আইরিস-সেটোসা, ১টা হচ্ছে ভার্সিকালার আর বাকী ৪৫টা ভার্জিনিকা। অসাধারণ, তাই না?
0 comments:
Post a Comment