2013-04-30 70 views
2

我目前正在學習聚類。我執行我的數據庫中存儲的用戶的average_duration_of_call k-mean羣集。在首次運行3箇中心 cluster1(53.33369秒)-367訂戶,cluster2(121.67123秒)-128訂戶,cluster3(369.09000秒)-8訂戶。如何從不同的中心找到最佳的K均值聚類

我再次重新運行聚類中心6和中心獲得如cluster1中(904.66670秒)-1訂戶,Cluster2中(27.7秒) - 108訂戶,cluster3(151.58)-43訂戶,cluster4(95秒) - 135用戶,cluster5(59.5秒) - 207用戶,cluster6(278秒)-9用戶。

現在我的問題是哪個是最好的集羣以及如何找到最佳集羣。我期望有任何經驗幫助(我目前使用R語言)

回答

2

如果您是初學者,那麼我建議您啓動基於密度的聚類,以便不需要K的初始值。您最初可以使用epsilon = 10和minpts = 5啓動dbscan集羣,然後檢查生成的集羣數量。之後,開始平穩增加epsilon(11,12,... 15)和減少minpt(4,3,.1),並檢查每次生成的簇的數量。那麼這些數字的平均值應該反映真實羣集的平均數量。

但是,如果您需要應用k均值聚類,那麼您可能會發現Selection of K in K-means clustering紙張有用。

1

那麼,k-means已經爲您的平方和計算了分數。

選擇取得較好成績的成績。

但是,當你增加k時,分數改善是很自然的。顯然,如果將k設置爲數據集大小,則它將爲0.然後,您可能需要使用BIC或Silhouette係數(在維基百科上查看它)。

哦,並考慮使用一本書。這是一個經典的問題,它應該包含在任何好書中。

+0

請給這個問題的任何參考書名稱。 – Krish 2013-04-30 12:05:45

+0

也BIC的意思是[貝葉斯信息標準](http://en.wikipedia.org/wiki/Bayesian_information_criterion)或其他? – Krish 2013-04-30 12:11:14

+0

請參閱Gan,Ma,Wu的「Data Clustering」,它對存在的各種變體有相當詳盡的說明。事實上,許多分類繁多的書籍,如Weka書幾乎沒有觸及羣集。例如,查找x-means算法,它使用BIC I相關。 – 2013-04-30 15:49:35