সাপোর্ট কাউন্টিং হলো apriori-gen ফাংশনের ক্যান্ডিডেট প্রুনিং স্টেপে বাঁচা প্রতিটি ক্যান্ডিডেট আইটেমসেটের আবির্ভাব ফ্রিকোয়েন্সি নির্ধারণের প্রক্রিয়া।
এটি করার একটি পদ্ধতি হলো প্রতিটি ট্রানজ্যাকশনকে প্রতিটি ক্যান্ডিডেট আইটেমসেটের সাথে তুলনা করা এবং ট্রানজ্যাকশনে অন্তর্ভুক্ত ক্যান্ডিডেটের সাপোর্ট কাউন্ট রিফ্রেশ করা। এই পদ্ধতি কম্পিউটেশনালি ব্যয়বহুল, বিশেষ করে যখন ট্রানজ্যাকশন এবং ক্যান্ডিডেট আইটেমসেটের সংখ্যা বেশি।
দ্বিতীয় পদ্ধতিতে প্রতিটি ট্রানজ্যাকশনে অন্তর্ভুক্ত আইটেমসেট এনামারেট করা হয় এবং তাদের ספেসিফিক ক্যান্ডিডেট আইটেমসেটের সাপোর্ট কাউন্ট আপডেট করতে ব্যবহার করা হয়। একটি ট্রানজ্যাকশন t বিবেচনা করুন যেটে পাঁচ আইটেম আছে: {1, 2, 3, 5, 6}। এই ট্রানজ্যাকশনে আকার ৩-এর (5 3) = ১০টি আইটেমসেট আছে।
বিভিন্ন আইটেমসেট বিশ্লেষণাধীন ক্যান্ডিডেট ৩-আইটেমসেটের সাথে মিলতে পারে, সেক্ষেত্রে তাদের সাপোর্ট কাউন্ট ইনক্রিমেন্ট করা হয়। t-র বিভিন্ন সাবসেট কোনো ক্যান্ডিডেটের সাথে মিলে না, সেগুলো উপেক্ষা করা যায়।
t-তে অন্তর্ভুক্ত ৩-আইটেমসেট সিস্টেমেটিকভাবে এনামারেট করার একটি পদ্ধতি। যেহেতু প্রতিটি আইটেমসেট তার আইটেমগুলো ক্রমবর্ধমান লেক্সিকোগ্রাফিক অর্ডারে রাখে, একটি আইটেমসেটকে এনামারেট করা যায় প্রথমে সবচেয়ে ছোট আইটেম নির্দিষ্ট করে, তারপর বড় আইটেমগুলো।
উদাহরণস্বরূপ, t: {1, 2, 3, 5, 6} দেওয়ায়, t-তে থাকা সব ৩-আইটেমসেট 1, 2, বা 3 আইটেম দিয়ে শুরু হবে। 5 বা 6 দিয়ে শুরু হওয়া ৩-আইটেমসেট তৈরি করা সম্ভব নয় কারণ t-তে ৫ বা ৬-এর চেয়ে বড় বা সমান লেবেলের শুধু দুটি আইটেম আছে।
প্রিফিক্স আর্কিটেকচার দেখায় ট্রানজ্যাকশনে অন্তর্ভুক্ত আইটেমসেটগুলো কীভাবে সিস্টেমেটিকভাবে এনামারেট করা যায়, অর্থাৎ তাদের আইটেম একে একে নির্দিষ্ট করে, বামপাশের আইটেম থেকে ডানপাশের আইটেম পর্যন্ত।
প্রতিটি এনামারেটেড ৩-আইটেমসেট কোনো বিদ্যমান ক্যান্ডিডেট আইটেমসেটের সাথে মিলে কিনা তা নির্ধারণ করা যায়। যদি কোনো ক্যান্ডিডেটের সাথে মিলে, তবে সংশ্লিষ্ট ক্যান্ডিডেটের সাপোর্ট কাউন্ট ইনক্রিমেন্ট করা হয়।
এপ্রিয়রি অ্যালগরিদমে, ক্যান্ডিডেট আইটেমসেটগুলো একাধিক বাল্টিতে ভাগ করা হয় এবং একটি হ্যাশ ট্রিতে সংরক্ষিত হয়। সাপোর্ট কাউন্টিংয়ের সময়, প্রতিটি ট্রানজ্যাকশনে অন্তর্ভুক্ত আইটেমসেটগুলো তাদের উপযুক্ত বাল্টিতে হ্যাশ করা হয়। প্রতিটি ট্রানজ্যাকশন আইটেমসেটকে প্রতিটি ক্যান্ডিডেট আইটেমসেটের সাথে তুলনা না করে, শুধু একই বাল্টিতে থাকা ক্যান্ডিডেট আইটেমসেটের সাথে মিলানো হয়।
ট্রির প্রতিটি ইন্টারন্যাল নোডে নিচের হ্যাশ ফাংশন থাকে, h(p) : p mod 3, যেটি নির্ধারণ করে বর্তমান নোডের কোন ব্রাঞ্চ ফলো করতে হবে। উদাহরণস্বরূপ, আইটেম 1, 4, এবং 7 একই ব্রাঞ্চে (বামপাশের ব্রাঞ্চ) হ্যাশ হয় কারণ 3 দিয়ে ভাগ করার পর তাদের রিমাইন্ডার একই। সকল ক্যান্ডিডেট আইটেমসেট হ্যাশ ট্রির লিফ নোডে সংরক্ষিত থাকে।