2016-01-04 70 views
1

我在將數據正確輸入ELKI以運行Optics算法時遇到了一些麻煩,但使用Optics的R實現,我可以輕鬆獲得可達距離列表。我可以將它們寫入這樣的文件。 (指數,距離)有沒有辦法從ELKI中將可達性列表輸入到Optics Xi中並獲得集羣?

1 Inf文件

2 0.5

3 0.9 ...

我想找到由局部最小值分離簇。我認爲ELKI軟件的Optics Xi算法可以做到這一點,但由於我無法導入數據,因此無法使用它。

使用Optics論文中的僞代碼將光學聚類提取算法寫入另一種語言會更容易嗎?我認爲從最基本的角度來看,它們只是將指數聚集在一起,而不會降低到新的局部最小值。

感謝

+0

我敢打賭,你只需要實現一個Java接口。在ELKI中,一切似乎都有一個可以插入的接口。但是,修正你的「一些麻煩」可能更容易,因爲ELKI工作得很好(確保啓用一個索引,並在epsilon上設置一個上限 - 這會提高很多)。這似乎是唯一可用的OPTICS實現。 –

回答

2

你可以嘗試實現接口OPTICSTypeAlgorithm,這在很大程度上意味着讀取數據並將其存儲在ClusterOrder類型的對象。

但是,ELKI包含OPTICS的稍微高級版本,可以使用OPTICSXi產生更好的結果。細節最終將作爲技術報告等發佈。您從R實現中獲得的數據不足以糾正光學繪圖中的一些常見僞影。

請在ELKI中使用OPTICS版本。嘗試覆蓋樹索引(這是非常快速和易於使用)。避免在輸入數據中使用ID列,或告訴解析器哪一列是ID列。

+0

我有一個預先計算的距離矩陣,我已經重新格式化爲3列成對距離。 即 \t 2 0.0895585119724274 –

+0

當我使用像這樣的輸出: 當我使用ELKI參數是這樣的: 參數:-dbc DBIDRangeDatabaseConnection -idgen.start 1 -idgen.count 2424 -time -algorithm聚類。 optics.OPTICSList -algorithm.distancefunction external.FileBasedDoubleDistanceFunction -distance.matrix /Users/jperrie/Documents/col3elki.csv -optics.epsilon 5.0 -optics.minpts 2 -resulthandler ResultWriter -out /Applications/elki-0.7.0/opticslisttest1 光學列表似乎沒有合作:( –

+0

我想我做錯了3列列表。 –

相關問題