2011-03-01 45 views
0

任何人都知道如何在Matlab中實現knnclassify?我想知道他們是否使用kd樹進行有效的距離計算。有任何想法嗎?Matlab如何實現knnclassify?

+1

你試過'編輯knnclassify'看到源?如果他們沒有使用C++實現,那麼您可以確切地看到他們在做什麼。 – Jonas 2011-03-02 22:11:02

+0

謝謝你。我甚至沒有考慮過。我只查了一下,他們使用了我也打開過的knnsearch,它有自己的編譯代碼。無論如何,我實現了我自己的knnclassify版本,使用matlabs自己的矢量化可以快一萬倍地工作,所以我認爲它非常荒謬,他們不能去優化他們自己的代碼。 – twerdster 2011-03-03 05:07:31

回答

0

我覺得matlabdocumentation與此有關很明顯。然而你對... use a kd-tree for efficient distance computations的問題還不太清楚。

我主要指的是誰在乎,但如果你這樣做;然後在替代品之間做一些時間安排。

無論如何,與'規則'參數的問題是複雜得多,而不僅僅是找到一些簡單的kd-tree用法。所以,請務必首先確定您的操作時間,如果它們不夠充分,那麼我一定能夠爲您調整它們!

+0

你說得對。我沒有說得很清楚。我不是說他們如何計算距離本身,而是他們如何比較距離。這確實很重要,因爲蠻力是O(n^2),對於具有超過2000個元素的矩陣開始變得適時。 – twerdster 2011-03-02 00:24:18