Saya kira saya menemukan jawaban saya untuk pengelompokan kmeans:
Dengan melihat kode sumber git, saya menemukan bahwa untuk scikit belajar, inersia dihitung sebagai jumlah jarak kuadrat untuk setiap titik ke pusat massa terdekat, yaitu, cluster yang ditugaskan. Jadi mana c r adalah centroid dari cluster yang ditugaskan dan d adalah jarak kuadrat. I=∑i(d(i,cr))crd
Sekarang formula gap statistic melibatkan
manaDradalah jumlah dari jarak kuadrat antara semua titik dalam klasterr.
Wk= ∑r = 1k1( 2 ∗ nr)Dr
Drr
Dengan memperkenalkan , - c dalam rumus jarak kuadrat ( c menjadi pusat koordinat cluster r ), saya memiliki istilah yang sesuai dengan Inersia (seperti dalam scikit) + istilah yang hilang jika setiap c adalah barycentre dari setiap cluster (yang seharusnya dalam kmeans). Jadi saya kira W k sebenarnya scikit Inersia.+ c- ccrcWk
Saya masih punya dua pertanyaan:
- Apakah Anda pikir kalkulus saya benar? (Misalnya, saya tidak tahu apakah itu berlaku untuk pengelompokan hierarkis.)
- Jika saya benar di atas, saya telah mengode statistik gap (sebagai perbedaan inertias log antara estimasi dan clustering) dan kinerjanya buruk terutama pada set data iris, apakah ada yang mencobanya?