Hierarchical Clustering, merge by merge


Dataset
Data points 10 to 30 — press Enter or click away to redraw
Linkage
Run
Cluster threshold

একটিমাত্র ধাপ:
বেছে নেওয়ার মতো কোনো k নেই, initialize করারও কিছু নেই। প্রতিটি পয়েন্ট নিজেই একটি cluster হিসেবে শুরু করে, আর একমাত্র কাজ হলো: সবচেয়ে কাছের দুটি cluster খুঁজে বের করে জোড়া লাগানো। এটি n−1 বার করলেই সবকিছু একটি cluster-এ পরিণত হয়। দুটি পয়েন্টের মধ্যে দূরত্ব স্পষ্ট। কিন্তু দুটি গ্রুপের মধ্যে দূরত্ব একটি পছন্দ — সেই পছন্দটিই linkage, এবং এটিই একমাত্র জিনিস যা বদলায়।

উচ্চতার স্কেল পড়া।
ট্রি প্যানেলের উপরে ডান দিকের সংখ্যাটি হলো সবচেয়ে কম খরচের সেই merge যাকে বর্তমান cut প্রত্যাখ্যান করছে — merge করার সঙ্গে সঙ্গে স্কেল বাড়তে থাকে, তাই ট্রি সবসময় প্যানেল ভরে রাখে। দুটি সম্পূর্ণ গ্রুপ যখন অবশেষে যুক্ত হয়, তখন সংখ্যাটির লাফ লক্ষ্য করুন: কোথায় cut করবেন সেটি ঠিক করার সময় আপনি এই লম্বা ফাঁকটিই খোঁজেন।

কোন linkage কী করে?
তিনটিই হুবহু একই loop চালায় — পার্থক্য কেবল দুটি গ্রুপের মধ্যে দূরত্ব কীভাবে সংজ্ঞায়িত হয় তাতে। ওই একটি লাইনই এই পদ্ধতিগুলোর মধ্যে পুরো পার্থক্য।

LinkageA ও B গ্রুপের মধ্যে দূরত্ব
Single সবচেয়ে কাছের জোড়া: min d(a, b)
Complete সবচেয়ে দূরের জোড়া: max d(a, b)
Average সব cross জোড়ার গড়