Apriori Algorithm
Apriori Algorithm একটি জনপ্রিয় অ্যাসোসিয়েশন রুল মাইনিং অ্যালগরিদম যা ডেটা সেট থেকে প্যাটার্ন এবং সম্পর্ক বের করতে ব্যবহৃত হয়। এটি প্রধানত মার্কেট বাস্কেট অ্যানালাইসিসে ব্যবহৃত হয়, যেখানে গ্রাহকদের কেনাকাটার প্যাটার্ন খুঁজে বের করা হয়।
বৈশিষ্ট্য:
- সাপোর্ট ভিত্তিক: অ্যালগরিদমটি সমর্থন (Support) এবং বিশ্বস্ততা (Confidence) ব্যবহার করে রুল তৈরি করে।
- লেভেল ভিত্তিক: বিভিন্ন লেভেলে কাজ করে, যেখানে প্রথমে একক আইটেম সেট পরীক্ষা করা হয়, তারপরে দ্বৈত এবং ত্রৈমাসিক আইটেম সেট।
কাজের প্রক্রিয়া:
- প্রাথমিক আইটেম সেট তৈরি: ডেটাসেট থেকে একক আইটেম সেট তৈরি করুন এবং তাদের সমর্থন গণনা করুন।
- এলিমিনেশন: একটি নির্দিষ্ট সমর্থন থ্রেশহোল্ডের নিচে থাকা আইটেম সেটগুলি বাদ দিন।
- আইটেম সেটের জোড়া তৈরি: অবশিষ্ট আইটেম সেটগুলিকে জোড়া করে নতুন আইটেম সেট তৈরি করুন এবং তাদের সমর্থন গণনা করুন।
- পুনরাবৃত্তি: এই প্রক্রিয়া তখন পর্যন্ত চলতে থাকে যতক্ষণ না নতুন আইটেম সেট তৈরি না হয়।
- বিশ্বাসযোগ্যতা নির্ধারণ: অবশেষে, সেই রুলগুলি তৈরি করুন যেগুলির বিশ্বাসযোগ্যতা (Confidence) একটি নির্দিষ্ট থ্রেশহোল্ডের উপরে।
উদাহরণ:
ধরা যাক, আমাদের কাছে একটি ডেটাসেট আছে:
css
Copy code
Transaction ID: Items
1: {A, B, C}
2: {A, B}
3: {A, D}
4: {B, C}
5: {C, D}
পদক্ষেপ:
- প্রথমে A, B, C, D এর জন্য একক আইটেম সেট সমর্থন গণনা করুন।
- তারপর B, C, A, D এর জন্য জোড়া তৈরি করুন এবং তাদের সমর্থন গণনা করুন।
FP-Growth Algorithm
FP-Growth Algorithm হল একটি উন্নত ক্লাস্টারিং অ্যালগরিদম যা ডেটা থেকে অ্যাসোসিয়েশন রুল মাইনিংয়ের জন্য ব্যবহৃত হয়। এটি Apriori অ্যালগরিদমের তুলনায় দ্রুত এবং কার্যকরী।
বৈশিষ্ট্য:
- হাইপারপ্লেন: FP-tree (Frequent Pattern Tree) তৈরি করে যা ডেটার মধ্যে প্যাটার্ন সনাক্ত করতে সহায়ক।
- মেমরি ব্যবহার: FP-Growth কম মেমরি ব্যবহারের সঙ্গে দ্রুত কার্যকরী।
কাজের প্রক্রিয়া:
- FP-Tree তৈরি: প্রথমে, ডেটাসেট থেকে আইটেমগুলির সমর্থন গণনা করা হয় এবং তাদের একটি FP-tree তৈরি করা হয়।
- প্যাটার্ন استخراج: FP-tree থেকে প্যাটার্নগুলি বের করার জন্য একটি Recursive ফাংশন ব্যবহার করা হয়।
- সহজ এবং দ্রুত: FP-Growth জটিল এবং বড় ডেটাসেটে কাজ করে দ্রুত ফলাফল প্রদান করে।
উদাহরণ:
ডেটাসেট:
css
Copy code
Transaction ID: Items
1: {A, B, C}
2: {A, B}
3: {A, D}
4: {B, C}
5: {C, D}
পদক্ষেপ:
- প্রথমে আইটেমগুলির সমর্থন গণনা করে একটি FP-tree তৈরি করুন।
- তারপর FP-tree থেকে প্যাটার্নগুলি বের করুন।
তুলনা: Apriori এবং FP-Growth
| বৈশিষ্ট্য | Apriori | FP-Growth |
|---|---|---|
| গতি | ধীর (অনেকবার ডেটা স্ক্যান করা হয়) | দ্রুত (শুধু ২ বার ডেটা স্ক্যান) |
| মেমরি ব্যবহার | বেশি মেমরি ব্যবহার | কম মেমরি ব্যবহার |
| ডেটা স্ট্রাকচার | আইটেম সেটের উপর ভিত্তি করে কাজ করে | FP-tree ব্যবহার করে কাজ করে |
| বিকল্প | একটি বড় ডেটাসেটের জন্য অদক্ষ | বড় ডেটাসেটের জন্য কার্যকর |
উপসংহার
Apriori এবং FP-Growth উভয়ই শক্তিশালী অ্যাসোসিয়েশন রুল মাইনিং অ্যালগরিদম। যেখানে Apriori সহজ এবং বোধগম্য, সেখানে FP-Growth বৃহৎ ডেটাসেটে দ্রুত এবং কার্যকরীভাবে কাজ করে। উপযুক্ত অ্যালগরিদম নির্বাচন করা ডেটার প্রকৃতি এবং বিশ্লেষণের উদ্দেশ্যের উপর নির্ভর করে।