我想要做的事情的簡單例子:如何根據Python中的相似性或重疊來比較兩個羣集分組?
比方說,我有3個數據點A,B和C.我運行KMeans聚類在這個數據上,得到2個簇[(A,B),(C)]
。然後我對這個數據運行MeanShift集羣並獲得2個集羣[(A),(B,C)]
。很顯然,這兩種聚類方法以不同的方式聚集數據。我希望能夠量化這種差異。換句話說,我可以使用什麼度量來確定從兩種算法獲得的兩個羣集組之間的相似性/重疊百分比?下面是可能被給予分數的範圍:
- 100%的分數
[(A,B),(C)]
[(A,B),(C)]
與 - 〜50%的分數
[(A,B),(C)]
與[(A),(B,C)]
- 〜20%的分數
[(A,B),(C)]
與[(A,B,C)]
這些分數有點隨意,因爲我不確定如何衡量兩個不同集羣分組之間的相似性。請記住,這是一個簡化的示例,在實際應用程序中,您可以擁有多個數據點,並且每個羣集分組也可以有多個羣集。嘗試將羣集分組與標記的數據分組進行比較時(具有標記的數據時),使用此類度量標準也很有用。
編輯:我有一個想法是將第一個羣集組中的每個羣集與第二個羣集中的每個羣集重疊。這將爲您提供第一個羣集組中的羣集的相似性矩陣,以及第二個羣集中的羣集。但是,我不確定你會用這個矩陣做什麼。也許在每一行或每列中取得最高的相似度分數,並對此做些什麼?
我不想確定最佳數量的羣集,我只是想比較兩個不同的羣集分組結果,看看它們有多相似。 – Eddy