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

Apriori-ভিত্তিক মাইনিংয়ের দক্ষতা আরও কীভাবে বাড়ানো যায়?


Apriori-ভিত্তিক মাইনিংয়ের দক্ষতা উন্নত করার কৌশল

Apriori অ্যালগরিদমের কিছু ভেরিয়েশন প্রস্তাবিত হয়েছে যা মূল অ্যালগরিদমের দক্ষতা উন্নত করার লক্ষ্য রাখে:

১. হ্যাশ-ভিত্তিক কৌশল (Hash-based technique - hashing itemsets into corresponding buckets)

হ্যাশ-ভিত্তিক কৌশল ব্যবহার করে ক্যান্ডিডেট k-আইটেমসেট, Cₖ-এর আকার কমানো যায় (k > 1 এর জন্য)। উদাহরণস্বরূপ, ডেটাবেসের প্রতিটি ট্রানজ্যাকশন স্ক্যান করলে ক্যান্ডিডেট ১-আইটেমসেট C₁ থেকে ফ্রিকোয়েন্ট ১-আইটেমসেট L₁ তৈরি করা যায়, সেটা থেকে প্রতিটি ট্রানজ্যাকশনের জন্য কিছু ২-আইটেমসেট তৈরি করা যায়, সেগুলো হ্যাশ (ম্যাপ) করা যায় একটি হ্যাশ টেবিল স্ট্রাকচার کے বিভিন্ন বালতিতে, এবং সংশ্লিষ্ট বালতির কাউন্ট বাড়ানো যায়।

২. ট্রানজ্যাকশন রিডাকশন (Transaction reduction)

যে ট্রানজ্যাকশনে কিছু ফ্রিকোয়েন্ট k-আইটেমসেট থাকে না, সেটিতে কিছু ফ্রিকোয়েন্ট (k+1)-আইটেমসেটও থাকতে পারে না। তাই এমন ট্রানজ্যাকশনকে চিহ্নিত বা ডিলিট করা যায় অতিরিক্ত বিবেচনার বাইরে থেকে কারণ পরবর্তী স্ক্যানগুলো j-আইটেমসেটের জন্য (যেখানে j > k) সেটির প্রয়োজন নেই।

৩. পার্টিশনিং (Partitioning)

পার্টিশনিং কৌশল ব্যবহার করা যায় যাতে ফрикোয়েন্ট আইটেমসেট মাইন করার জন্য দুটি ডেটাবেস স্ক্যান প্রয়োজন। এতে দুটি ফেজ থাকে:

ফেজ I: অ্যালগরিদম D-এর ট্রানজ্যাকশনকে n নন-ওভারল্যাপিং পার্টিশনে সাবডিভাইড করে। যদি D-এ ট্রানজ্যাকশনের জন্য মিনিমাম সাপোর্থ থ্রেশহোল্ড min_sup হয়, তবে একটি পার্টিশনের জন্য মিনিমাম সাপোর্ট কাউন্ট হবে min_sup × সেটি পার্টিশনে ট্রানজ্যাকশনের সংখ্যা। প্রতিটি পার্টিশনের জন্য, পার্টিশনের ভিতরে সব ফ্রিকোয়েন্ট আইটেমসেট আবিষ্কার করা হয়। এগুলো লোকাল ফ্রিকোয়েন্ট আইটেমসেট বলে ডিফাইন করা হয়। প্রসেস একটি নির্দিষ্ট ডেটা স্ট্রাকচার ব্যবহার করে যা প্রতিটি আইটেমসেটের জন্য, আইটেমসেটের আইটেম ধারণকারী ট্রানজ্যাকশনের TIDs রেকর্ড করে। এটি একই ডেটাবেস স্ক্যানে সব লোকাল ফ্রিকোয়েন্ট k-আইটেমসেট (k = 1, 2...) খুঁজে বের করতে সক্ষম করে।

একটি লোকাল ফ্রিকোয়েন্ট আইটেমসেট পুরো ডেটাবেস D-এর সাপেক্ষে ফ্রিকোয়েন্ট হতে পারে বা নাও হতে পারে। D-এর সাপেক্ষে যেকোনো সম্ভাব্য ফ্রিকোয়েন্ট আইটেমসেট অবশ্যই কমপক্ষে একটি পার্টিশনে ফ্রিকোয়েন্ট আইটেমসেট হিসেবে উপস্থিত থাকবে। তাই সকল লোকাল ফ্রিকোয়েন্ট আইটেমসেট D-এর ক্যান্ডিডেট আইটেমসেট। সব পার্টিশন থেকে ফ্রিকোয়েন্ট আইটেমসেটের সেট D-এর গ্লোবাল ক্যান্ডিডেট আইটেমসেট গঠন করে। ফেজ II: D-এর দ্বিতীয় স্ক্যান অনুষ্ঠান করা হয় যেখানে প্রতিটি ক্যান্ডিডেটের আসল সাপোর্ট মূল্যায়ন করা হয় গ্লোবাল ফ্রিকোয়েন্ট আইটেমসেট নির্ধারণের জন্য।

৪. স্যাম্পলিং (Sampling)

স্যাম্পলিং অ্যাপ্রোচের মৌলিক ধারণা হলো দিয়ে ডেটা D-এর একটি র‍্যান্ডম স্যাম্পল S বেছে নেওয়া, এবং তারপর S-এ ফ্রিকোয়েন্ট আইটেমসেট খোঁজা D-এর বদলে। এই মেথডে, কিছু মাত্রা অ্যাকিউরেসি ট্রেড-অফ করা হয় দক্ষতার বিপরীতে। S-এর স্যাম্পল সাইজ এমন যাতে S-এ ফ্রিকোয়েন্ট আইটেমসেট সার্চ করা মেইন মেমরিতে সম্পন্ন হয়, এবং তাই সার्वত্রিকভাবে S-এ ট্রানজ্যাকশনের শুধু একটি স্ক্যান প্রয়োজন।


  1. উইন্ডোজ ১০-এ রিসাইকেল বিন পারফরম্যান্স উন্নত করা

  2. ডেটা কীভাবে ভিজ্যুয়ালাইজ করা যায় যাতে ইন্টারেক্টিভ সিদ্ধান্ত গাছ নির্মাণ করা যায়?

  3. একটি গ্রাফে দুটি ভের্টেক্সের মধ্যে সাদৃশ্য বা দূরত্ব কীভাবে মাপা যায়?

  4. ডেটা এনক্রিপশন অ্যালগরिदমের পারফরম্যান্স কীভাবে ইভ্যালুয়েট করব?