কম্পিউটার

কীভাবে একটি সিদ্ধান্ত গাছ তৈরি করবেন?


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

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

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

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

বেশ কয়েকটি পদ্ধতি প্রায়শই সর্বনিম্ন নির্ভরযোগ্য বিভাগগুলিকে অপসারণ করতে পরিসংখ্যানগত ব্যবস্থা ব্যবহার করে, প্রায়শই দ্রুত শ্রেণীবিভাগের ফলে এবং স্বাধীন পরীক্ষার ডেটা সঠিকভাবে শ্রেণীবদ্ধ করার জন্য গাছের ক্ষমতা বৃদ্ধি করে৷

ডিসিশন ট্রি শেখার জন্য অ্যালগরিদম

অ্যালগরিদম - প্রদত্ত প্রশিক্ষণ তথ্য থেকে একটি সিদ্ধান্ত গাছ তৈরি করুন৷

ইনপুট - প্রশিক্ষণের নমুনা, নমুনা, বিচ্ছিন্ন-মূল্যবান বৈশিষ্ট্য দ্বারা বর্ণিত; স্টুডেন্ট অ্যাট্রিবিউটের সেট, অ্যাট্রিবিউট-লিস্ট।

আউটপুট - একটি সিদ্ধান্ত গাছ।

পদ্ধতি

  • একটি নোড তৈরি করুন N;

  • যদি নমুনাগুলি একই শ্রেণীর হয়, তাহলে C

  • ক্লাস C

    লেবেলযুক্ত একটি লিফ নোড হিসাবে N ফেরত দিন
  • যদি বৈশিষ্ট্য-তালিকাটি শূন্য হয় তাহলে

  • নমুনাগুলিতে সবচেয়ে ঘন ঘন ক্লাস সহ লেবেলযুক্ত একটি লিফ নোড হিসাবে N ফেরত দিন। // সংখ্যাগরিষ্ঠ ভোট

  • টেস্ট-অ্যাট্রিবিউট বেছে নিন, সবচেয়ে বেশি তথ্য লাভ সহ অ্যাট্রিবিউট-লিস্টের মধ্যে অ্যাট্রিবিউট।

  • টেস্ট অ্যাট্রিবিউট সহ নোড N লেবেল করুন।

  • প্রতিটি পরিচিত মানের জন্য ai টেস্ট-অ্যাট্রিবিউটের // নমুনা পার্টিশন করুন।

  • শর্ত test-attribute=ai এর জন্য নোড N থেকে একটি শাখা বাড়ান .

  • চলুন si নমুনার নমুনার সেট হতে হবে যার জন্য test-attribute=ai .

  • যদি si হয় তাহলে খালি হয়

  • এটি নমুনার সবচেয়ে সাধারণ শ্রেণীর সাথে লেবেলযুক্ত একটি পাতার সাথে লিঙ্ক করা যেতে পারে।

  • অন্যথায় জেনারেট ডিসিশন ট্রি ( si দ্বারা প্রত্যাবর্তিত নোডটি সংযুক্ত করুন , অ্যাট্রিবিউট-লিস্ট - টেস্ট-এট্রিবিউট)


  1. ডাটা স্ট্রাকচারে বাইনারি ট্রি ট্রাভার্সাল

  2. জাভাএফএক্সে টেক্সট নোড কীভাবে তৈরি করবেন?

  3. পাইথনে বাইনারি ট্রি থেকে স্ট্রিং তৈরি করুন

  4. পাইথনে প্রিঅর্ডার এবং পোস্টঅর্ডার ট্রাভার্সাল থেকে বাইনারি ট্রি তৈরি করুন