একটিমাত্র ধাপ:
বেছে নেওয়ার মতো কোনো k নেই, initialize করারও কিছু নেই। প্রতিটি পয়েন্ট নিজেই একটি cluster
হিসেবে শুরু করে, আর একমাত্র কাজ হলো: সবচেয়ে কাছের দুটি cluster খুঁজে বের করে জোড়া লাগানো।
এটি n−1 বার করলেই সবকিছু একটি cluster-এ পরিণত হয়।
দুটি পয়েন্টের মধ্যে দূরত্ব স্পষ্ট। কিন্তু দুটি গ্রুপের মধ্যে দূরত্ব একটি পছন্দ
— সেই পছন্দটিই linkage, এবং এটিই একমাত্র জিনিস যা বদলায়।
উচ্চতার স্কেল পড়া।
ট্রি প্যানেলের উপরে ডান দিকের সংখ্যাটি হলো সবচেয়ে কম খরচের সেই merge যাকে বর্তমান cut
প্রত্যাখ্যান করছে — merge করার সঙ্গে সঙ্গে স্কেল বাড়তে থাকে, তাই ট্রি সবসময় প্যানেল
ভরে রাখে। দুটি সম্পূর্ণ গ্রুপ যখন অবশেষে যুক্ত হয়, তখন সংখ্যাটির লাফ লক্ষ্য করুন: কোথায় cut করবেন
সেটি ঠিক করার সময় আপনি এই লম্বা ফাঁকটিই খোঁজেন।
কোন linkage কী করে?
তিনটিই হুবহু একই loop চালায় — পার্থক্য কেবল দুটি গ্রুপের মধ্যে দূরত্ব কীভাবে সংজ্ঞায়িত
হয় তাতে। ওই একটি লাইনই এই পদ্ধতিগুলোর মধ্যে পুরো পার্থক্য।
| Linkage | A ও B গ্রুপের মধ্যে দূরত্ব |
|---|---|
| Single | সবচেয়ে কাছের জোড়া: min d(a, b) |
| Complete | সবচেয়ে দূরের জোড়া: max d(a, b) |
| Average | সব cross জোড়ার গড় |