C5 প্রুনিং অ্যালগরিদম
C5 হল ডিসিশন-ট্রি অ্যালগরিদমের বর্তমান সংস্করণ যা অস্ট্রেলিয়ান গবেষক জে. রস কুইনল্যান (J. Ross Quinlan) অনেক বছরের ধরে উন্নত ও পরিশোধন করছেন। একটি পূর্ববর্তী সংস্করণ, ID3, ১৯৮৬ সালে প্রতিষ্ঠিত, মেশিন লার্নিং-এর ক্ষেত্রে প্রভাবোর ছিল এবং এর উত্তরাধিকারীদের বহু কমার্শিয়াল ডেটা মাইনিং সার্ভিসে ব্যবহার করা হয়।
C5 দিয়ে তৈরি ট্রিগুলো CART-দ্বারা উন্নত ট্রির মতো। CART-এর মতো, C5 অ্যালগরিদম প্রথমে একটি ওভারফিট ট্রি তৈরি করে এবং তারপর সেটিকে প্রুন করে একটি আরও রবাস্ট মডেল তৈরি করতে। প্রুনিং পদ্ধতি জটিল, কিন্তু C5 একটি ভ্যালিডেশন সেট ব্যবহার করে না প্রার্থী সাবট্রি থেকে বেছে নেওয়ার জন্য।
ট্রি তৈরি করতে ব্যবহৃত একই ডেটাই প্রুনিং কীভাবে হবে সেটি নির্ধারণ করতে ব্যবহার করা হয়। এটি অ্যালগরিদমের একাডেমিক বিশ্বে বেসিসকে প্রতিফলিত করে, যেখানে অতীতে, বিশ্ববিদ্যালয়ের গবেষকদের রিয়েল ডেটার বড় পরিমাণ ট্রেনিং সেটের জন্য পাওয়া কঠিন হতো। তদনুসারে, তারা অনেক সময় ও প্রচেষ্টা ব্যয় করতেন তাদের অল্প ডেটাসেট থেকে অবশেষে কিছু ডেটা নিচেाडার জন্য - একটি সমস্যা যা ব্যবসায়িক বিশ্বের ডেটা মাইনাররা মুখোমুখি হয় না।
C5 ট্রি প্রুন করে প্রতিটি নোডে এরর রেট নির্ধারণ করে এবং অনুমান করে যে আসল এরর রেট উল্লেখযোগ্যভাবে بد। যদি একটি নোডে N রেকর্ড থাকে, এবং E টি ভুলভাবে ক্লাসিফাইড হয়, তবে সেই নোডে এরর রেট E/N।
C5 সাংখ্যিক স্যাম্পলিং-এর সাথে একটি সাদৃশ্য ব্যবহার করে একটি লিফের সম্ভাব্য সবচেয়ে খারাপ এরর কস্ট অনুমান করতে। সাদৃশ্যটি কাজ করে লিফের তথ্যকে চিন্তা করে যেটি একটি ট্রায়াল সিরিজের ফলাফল উপস্থাপন করে যেগুলোর প্রতিটির দুটি সম্ভাব্য ফলাফল।
C5 অনুমান করে যে ট্রেনিং ডেটায় পর্যবেক্ষিত এরর সংখ্যা এই রেঞ্জের নিচের ছोर, এবং উচ্চ ছোরটি প্রতিস্থাপন করে একটি লিফের প্রেডিক্টেড এরর কস্ট পেতে, E/N অনদেখা ডেটায়। নোড যত নিচে, এরর কস্ট তত বড়। যখন একটি নোডের এররের হাই-এন্ড অনুমান তার চাইল্ডদের এরর অনুমানের চেয়ে কম, তবে চাইল্ডগুলোকেও প্রুন করা হয়।
একটি মডেলের মূল লক্ষ্য হল পূর্বে অনদেখা ডেটায় সुसঙ্গত প্রেডিকশন করা। সেই লক্ষ্য পূরণ না করাতে পারা যেকোনো নিয়ম মডেল থেকে সরিয়ে ফেলা উচিত। কিছু ডেটা মাইনিং টুল ব্যবহারকারীকে ম্যানুয়ালি একটি ডিসিশন ট্রি প্রুন করার অনুমতি দেয়।
এটি একটি উপকারী সুবিধা, কিন্তু আমরা ডেটা মাইনিং সফটওয়্যারের দিকে আশা করি যেটি অটোমেটিক রবাস্ট-ভিত্তিক প্রুনিং একটি অপশন হিসেবে সমর্থন করে। এমন সফটওয়্যারে একটি স্প্লিট অস্বীকারের জন্য কম সাবজেক্টিভ ক্রাইটেরিয়া থাকা উচিত "ভ্যালিডেশন সেটের ফলাফলের বন্টন ট্রেনিং গ্রুপের ফলাফলের বন্টন থেকে ভিন্ন দেখাচ্ছে" এর চেয়ে।