2013-06-05 21 views
0

我正在使用carrot2對一組500個電子郵件進行集羣。我正在使用carrot2提供的BisectingKMeans算法。在同一個數據集上,當我指定k = 9時,只生成6個,當我給它運行8個集羣時,會生成7個 - 但是,當我給出10個集羣運行時,將生成全部10個集羣。 任何人都可以請幫我找出背後的原因?在同一數據集上使用胡蘿蔔2不一致的集羣數量

回答

0

我看了一下代碼,它看起來像這種行爲是由集羣拆分例程中的bug引起的。我已經向Carrot2的主線提交了一個fix,這使得生成的羣集數量更具可預測性。您可以使用Carrot2 build server的修復程序下載二進制文件。

+0

謝謝你的迴應。我嘗試編譯我的代碼使用新的構建,但現在我得到這個錯誤:沒有找到org.carrot2.util.attribute.IObjectFactory的類文件 – afs

+0

我的壞。在attributes-binder-1.2.0.jar中找到IObjectFactory。感謝您的幫助。在您的回覆中,您提到錯誤修復使得生成的羣集數量更具可預測性。你能否詳細說明是什麼使得生成的簇數量不可預測,儘管我們正在使用k-means? – afs

+0

我改變了質心初始化的方式。以前,該算法會將多個輸入文檔作爲初始質心。這種方法的問題在於該算法通常不能夠分割一個簇,因爲所有文檔都只能圍繞一個這樣的初始化質心進行分組。無法拆分大型集羣會降低所生產的總集羣數量。 [change](https://github.com/carrot2/carrot2/commit/f6ed6f3898258ec5d93e68c583e9ff6f24d8dc9e#L0R423)用於根據正在拆分的集羣中的所有文檔初始化質心。 –

相關問題