3
A
回答
1
從documentation,我們知道我們可以通過一個'distance'
選項kmeans
:
'距離'
距離測量,在p維空間。關於這個參數,kmeans最小化爲 。對於不同的支持距離度量,kmeans計算質心集羣 。
'sqEuclidean'
平方歐幾里德距離(默認)。每個質心是該羣集中 點的平均值。
'cityblock'
絕對差值的和,即L1距離。每個質心是該組中各點的組分平均值。
「餘弦」
一個減分之間的夾角(如 載體處理的)的餘弦值。每個質心是該簇中點的平均值, 將這些點歸一化爲單位歐幾里得長度。
「相關」
一減點之間的樣本相關(如序列值的 處理的)。每個質心是 中各點的分量平均值,在對這些點進行對中和歸一化之後,將其平均值和單位標準偏差歸零。
「漢明」上不同的比特
百分比(僅適用於二進制數據)。每個 質心是該組中點的組分中位數。
所以,例如:
[idx,ctrs] = kmeans(X,2, 'Distance','cityblock');
至於定製功能(即,用戶實現的):AFAIK,這是不可能的沒有黑客相關M文件。
2
你需要做的是使用SVD將你的距離矩陣分解成一個特徵空間,然後在由SVD得分表示的新特徵空間上執行kmeans。請參閱Rob Tibshirani的統計學習元素。
或者你可以使用距離矩陣工作的k中介--R中的as.dist()會將矩陣轉換爲dist對象,然後可以在其上執行K-mediods。
0
如果你想看到簡單的實現可以使用任何任意距離函數看看 - K-Means Algorithm with Arbitrary Distance Function Matlab (Chebyshev Distance)。
相關問題
- 1. MATLAB - 將參數傳遞給pdist自定義距離函數
- 2. 我可以使用kmeans函數的自定義距離度量嗎?
- 3. UIScrollView自定義傳呼距離
- 4. 傳遞參數自定義jQuery函數
- 5. 在python中使用pdist()來定義你自定義的距離函數
- 6. 蟒蛇中L1距離的kmeans
- 7. 自定義的空間距離在Drupal
- 8. 自定義MySQL函數來計算Haversine距離?
- 9. 傳遞定義爲函數
- 10. 如何在Boost Dijkstra中定義自定義距離?
- 11. 在自定義屬性中傳遞自定義參數 - ASP.NET MVC
- 12. 在Python中使用自定義距離函數的聚類算法
- 13. 如何指定R中kmeans的距離度量?
- 14. 歐幾里德距離遞歸函數
- 15. 函數參數傳遞和函數重定義在Julia中
- 16. iphone的UIScrollView - 自定義分頁距離
- 17. 自定義距離分層聚類
- 18. Mysql距離函數
- 19. 將自定義參數傳遞給Symfony2中的自定義ValidationConstraint
- 20. Python定義函數參數傳遞
- 21. 如何將自定義枚舉傳遞給powershell中的函數
- 22. 如何將散列傳遞給puppet中的自定義函數?
- 23. 在Java中的自定義腳本中獲取距離
- 24. 在Java中傳遞自定義對象
- 25. 用於自定義遞歸函數的通用函數定義
- 26. 從傳遞給用戶定義函數的參數中剝離前導空白
- 27. 傳遞自定義參數傳遞給控制器在MVC3
- 28. 如何自定義比較傳遞給自定義函數的C++
- 29. 在一個自定義函數中傳遞一個數組作爲參數
- 30. 在python中定義自定義函數