2015-06-15 122 views
2

我試圖在Weka中實現餘弦距離,但它不太好。看來我必須實施很多才能獲得一點。我嘗試了遵循歐幾里得距離實現,但它不直接實現接口,但擴展了NormalizableDistance。除此之外,我嘗試使用K-means ++與我的「餘弦爲」實現,但它崩潰拋出索引超出界限例外。餘弦距離Weka

如何實現餘弦距離只能從代碼中使用它,我不需要所有與GUI相關的函數?

+0

你能證明你已經試過了嗎?也許用你目前的方法列出問題會更有用? –

回答

1

請注意,Weka中的許多算法強烈依賴於它們的距離函數,所以如果您只是在算法中更改距離函數,則可能會導致不一致。例如,在k-means中,如果將歐幾里得變爲餘弦距離,結果就沒有意義。因爲k-means被設計爲使基於歐幾里德距離的目標函數最小化。當k-均值在笛卡爾空間計算平均時,它試圖最小化歐幾里得距離的總和。使用餘弦距離的正確方法是改變算法的一些主要步驟。在k-均值的情況下,我們有使用餘弦的球形k-均值。這就是爲什麼Weka不是爲了讓您在任何算法中注入任何距離接口實現而設計的。