কম্পিউটার টিউটোরিয়াল

এন্ট্রপি-ভিত্তিক ডিসক্রেটাইজেশন কী?


এন্ট্রপি-ভিত্তিক ডিসক্রেটাইজেশন হলো একটি সুপারভাইজড, টপ-ডাউন স্প্লিটিং পদ্ধতি। এটি ক্লাস ডিস্ট্রিবিউশন ইনফরমেশন এর কম্পিউটেশন এবং স্প্লিট-পয়েন্ট প্রিজার্ভেশন (এট্রিবিউট রেঞ্জ বিভাজনের জন্য ডেটা ভ্যালু) এ ব্যবহার করে। একটি στα্টিস্টিক্যাল অ্যাট্রিবিউট A ডিসক্রেটাইজ করার জন্য, পদ্ধতিটি A-এর যেটি মান মিনিমাম এন্ট্রপি রাখে সেটি স্প্লিট-পয়েন্ট হিসেবে বেছে নেয়, এবং ফলস্বরূপ ইন্টারভালগুলো রিকার্সিভলি পার্টিশন করে হায়ারার্কিক্যাল ডিসক্রেটাইজেশনে পৌঁছাতে।

স্পেসিফিক ডিসক্রেটাইজেশন A-র জন্য একটি কনসেপ্ট হায়ারার্কি গঠন করে। D যেন ডেটা টাপলস ধারণ করে যা অ্যাট্রিবিউটের একটি গ্রুপ এবং একটি ক্লাস-লেবেল অ্যাট্রিবিউট দ্বারা বর্ণিত। ক্লাস-লেবেল অ্যাট্রিবিউট প্রতিটি টাপলসের জন্য ক্লাস ইনফরমেশন প্রদান করে। একটি অ্যাট্রিবিউট A-এর এন্ট্রপি-ভিত্তিক ডিসক্রেটাইজেশনের বেসিক পদ্ধতি সেটের ভিতরে নিচের মতো:

A-এর প্রতিটি ভ্যালুকে একটি পটেনশিয়াল ইন্টারভাল বাউন্ডারি বা স্প্লিট-পয়েন্ট (ইন্ডিকেটেড স্প্লিট পয়েন্ট) হিসেবে বিবেচনা করা হয় A-এর রেঞ্জ পার্টিশন করতে। অর্থাৎ, A-এর একটি স্প্লিট-পয়েন্ট D-র টাপলসকে দুটি সাবসেটে ভাগ করে যা কন্ডিশন A ≤ স্প্লিট পয়েন্ট এবং A > স্প্লিট পয়েন্ট সন্তুষ্ট করে, যথাক্রমে, ফলে একটি বাইনারি ডিসক্রেটাইজেশন তৈরি হয়।

এন্ট্রপি-ভিত্তিক ডিসক্রেটাইজেশন টাপলসের ক্লাস লেবেল সম্পর্কে ইনফরমেশন ব্যবহার করে। এন্ট্রপি-ভিত্তিক ডিসক্রেটাইজেশনের পিছনের ইনটুইশন বুঝতে, ক্লাসিফিকেশনে একবার তাকানো উচিত। মনে করুন D-র টাপলসকে অ্যাট্রিবিউট A এবং কোনো স্প্লিট-পয়েন্ট দিয়ে পার্টিশন করে ক্লাসিফাই করতে হয়।

উদাহরণস্বরূপ, যদি দুটি ক্লাস থাকত, আমরা আশা করতাম কিছু টাপলস ক্লাস C1-এ, অন্যদের ক্লাস C2-এ পড়বে। কিন্তু এটি অসম্ভাব্য। উদাহরণস্বরূপ, প্রথম পার্টিশনে C1-এর কিছু টাপলস থাকতে পারে, কিন্তু C2-এরও কিছু থাকতে পারে। এই পরিমাণকে D-এ একটি টাপলস ক্লাসিফাই করার জন্য পার্টিশনিং বাই A-র ওপর ভিত্তি করে এক্সপেক্টেড ইনফরমেশন রিকোয়ারমেন্ট বলা হয়। এটি দেওয়া হয়:

$$\mathrm{Info_A(D)\:=\:\frac{\mid\:D_1\:\mid}{\mid\:D\:\mid}Entropy(D_1)\:+\:\frac{\mid\:D_2\:\mid}{\mid\:D\:\mid}Entropy(D_2)}$$

যেখানে D1 এবং D2 D-র টাপলসের সাথে মিলে যায় যেগুলো কন্ডিশন A ≤ স্প্লিট পয়েন্ট এবং A > স্প্লিট পয়েন্ট সন্তুষ্ট করে, যথাক্রমে; |D| হলো D-তে টাপলসের সংখ্যা, ইত্যাদি। একটি দেওয়া সেটের এন্ট্রপি ফাংশন সেটের টাপলসের ক্লাস ডিস্ট্রিবিউশন ভিত্তিক গণনা করা হয়।

উদাহরণস্বরূপ, m ক্লাস দেওয়া, C1, C2... Cm, D1-এর এন্ট্রপি হলো:

$$\mathrm{Entropy(D_1)}\:=\:-\displaystyle\sum\limits_{i=1}^m P_i{\log_{2}(P_i)}$$

স্প্লিট-পয়েন্ট নির্ধারণের ফেজটি প্রতিটি প্রাপ্ত পার্টিশনে রিকার্সিভলি প্রয়োগ করা হয়, যতক্ষণ না কোনো স্টপিং ক্রাইটেরিয়া মিট হয়, যেন সবচেয়ে ছোট ইনফরমেশন রিকোয়ারমেন্ট সব ক্যান্ডিডেট স্প্লিট-পয়েন্টে একটি ছোট থ্রেশহোল্ড, ε, থেকে কম হয়, বা ইন্টারভালের সংখ্যা একটি থ্রেশহোল্ড, max_interval, থেকে বেশি হয়।


  1. অনসুপারভাইজড ডিসক্রেটাইজেশনের পদ্ধতিগুলো কী কী?

  2. C# 4.0-এ Tuple কী?

  3. পাইথনে নেমড টাপল (Named Tuple) কী

  4. পাইথন টাপল তৈরির সঠিক সিনট্যাক্স