ROCK står করে Robust Clustering using links (লিংক ব্যবহার করে শক্তিশালী ক্লাস্টারিং)। এটি একটি শ্রেণিবদ্ধ (hierarchical) ক্লাস্টারিং অ্যালগরিদম যা ক্যাটেগরিক্যাল অ্যাট্রিবিউট বিশিষ্ট ডেটার জন্য লিংক (দুই অবজেক্টের মধ্যে সাধারণ প্রতিবেশীর সংখ্যা) ধারণা বিশ্লেষণ করে। এটি দেখায় যে দূরত্ব-ভিত্তিক ডেটা ক্যাটেগরিক্যাল তথ্য ক্লাস্টার করার সময় উচ্চ-গুণমানের ক্লাস্টার দিতে পারে না।
পারंपरিক ক্লাস্টারিংয়ের সীমাবদ্ধতা
অধিকাংশ ক্লাস্টারিং অ্যালগরিদম ক্লাস্টার করার সময় শুধু পয়েন্টগুলির মধ্যে সাদৃশ্য বিবেচনা করে — অর্থাৎ, প্রতিটি ধাপে পয়েন্টগুলো একক ক্লাস্টারে একত্রিত হয়। এই "স্থানীয়" পদ্ধতিতে বাগ থাকতে পারে। উদাহরণস্বরূপ, দুটি ভিন্ন ক্লাস্টারকে কিছু পয়েন্ট বা আউটলিয়ার κοথায় রাখতে পারে; তখন পয়েন্ট সাদৃশ্যের ওপর ভিত্তি করে ক্লাস্টারিং সিদ্ধান্ত নিলে দুটি ক্লাস্টার একসাথে যেতে পারে।
ROCK-এর গ্লোবাল পদ্ধতি
ROCK প্রতিটি পয়েন্ট যুগলের প্রতিবেশকে বিবেচনা করে একটি আরও গ্লোবাল পদ্ধতি নেয়। যদি দুটি সাদৃশ্যময় পয়েন্টের একই প্রতিবেশ থাকে, তবে সেগুলো সম্ভবত একই ক্লাস্টারের সদস্য এবং সেগুলো একত্রিত করা যেতে পারে।
দুটি পয়েন্ট pᵢ এবং pⱼ প্রতিবেশী যদি sim(pᵢ, pⱼ) ≥ θ, যেখানে sim একটি সাদৃশ্য ফাংশন এবং θ একটি ব্যবহারকারী-নির্দিষ্ট থ্রেশহোল্ড। sim কে দূরত্ব মেট্রিক বা এমনকি নন-মেট্রিক হিসেবে বেছে নেওয়া যেতে পারে যেটি ০ এবং ১-এর মধ্যে নরমালাইজড, উচ্চ মান মানে পয়েন্টগুলো আরও সাদৃশ্যময়।
pᵢ এবং pⱼ-এর মধ্যে সংযোগের সংখ্যা হল তাদের সাধারণ প্রতিবেশীদের সংখ্যা হিসেবে সংজ্ঞায়িত। যদি দুটি পয়েন্টের মধ্যে লিংকের সংখ্যা বেশি হয়, তবে সেগুলোর একই ক্লাস্টারে থাকার সম্ভাবনা বেশি। পারস্পরিক পয়েন্টগুলির সম্পর্কে প্রতিবেশী ডেটা পয়েন্ট বিবেচনা করে, ROCK কেবল পয়েন্ট সাদৃশ্যে ফোকাস করা স্ট্যান্ডার্ড ক্লাস্টারিং পদ্ধতির চেয়ে বেশি শক্তিশালী।
উদাহরণ: মার্কেট বাস্কেট ডেটা
ক্যাটেগরিক্যাল অ্যাট্রিবিউট বিশিষ্ট ডেটার একটি উদাহরণ হল মার্কেট বাস্কেট তথ্য। এমন ডেটা транজ্যাকশনের একটি ডাটাবেস নিয়ে গঠিত, যেখানে প্রতিটি ট্রানজ্যাকশন আইটেমের একটি সেট। ট্রানজ্যাকশনগুলো বুলিয়ান অ্যাট্রিবিউট হিসেবে বিবেচিত হয়, প্রতিটি একটি নির্দিষ্ট আইটেমের সাথে সম্পর্কিত (যেমন রুটি বা পনির)।
একটি ট্রানজ্যাকশনের ডেটায়, একটি আইটেমের সাথে সম্পর্কিত অ্যাট্রিবিউট সত্য (true) যদি ট্রানজ্যাকশনে ওই আইটেম থাকে; অন্যথায় মিথ্যা (false)। ক্যাটেগরিক্যাল অ্যাট্রিবিউট বিশিষ্ট অনেক ডেটাসেট একইভাবে হ্যান্ডেল করা যেতে পারে। ROCK-এর প্রতিবেশী এবং লিংকের সংজ্ঞা দুটি "পয়েন্ট" বা ট্রানজ্যাকশন Tᵢ এবং Tⱼ-এর মধ্যে জ্যাকার্ড কোএফিসিয়েন্ট দিয়ে প্রকাশ করা হয়:
$$\mathrm{sim(T_{i},T_{j})=\frac{|T_{i} \cap T_{j}|}{|T_{i} \cup T_{j}|}}$$
ROCK অ্যালগরিদমের ধাপসমূহ
ROCK প্রথমে একটি ডেটা সাদৃশ্য ম্যাট্রিক্স থেকে একটি স্পার্স গ্রাফ তৈরি করে সাদৃশ্য থ্রেশহোল্ড এবং শেয়ার্ড প্রতিবেশী পদ্ধতি ব্যবহার করে। তারপর সেটি স্পার্স গ্রাফের ওপর'agglomérationমূলক শ্রেণিবদ্ধ ক্লাস্টারিং প্রয়োগ করে। একটি ভালোবাসা মাপ (goodness measure) ক্লাস্টারিং মূল্যায়ন করতে পারে। বড় ডেটাসেটের জন্য র্যান্ডম স্যাম্পলিং ব্যবহার করা যেতে পারে।
ROCK-এর সবচেয়ে খারাপ কেসের টাইম কমপ্লেক্সিটি O(n² + nmₘmₐ + n²log n), যেখানে mₘ এবং mₐ যথাক্রমে সর্বাধিক এবং গড় প্রতিবেশীর সংখ্যা, এবং n হল অবজেক্টের সংখ্যা।