簡體   English   中英

如何在matlab中確定矩陣的k近鄰算法的k值

[英]how to determine k value for the k nearest neighbours algorithm for a matrix in matlab

如果我們有一個6行和10列的矩陣,我們必須確定k值。如果我們假設默認k值是5,如果我們的列少於5,行數相同6,我們可以假設列數= k值是否正確?即rows = 6 cols = 4則k = col-1 => k = 3

其中n是實例數而不是特征。 參考文獻1參考文獻2

檢查這個問題, k最近鄰算法中的k值

與前一個相同。 通常,經驗法則是特征數量的平方根

k=n^(1/2)

其中n是要素的數量。 在你的情況下,平方根10大約是3,所以答案應該是3。

對於各種數據集,k = sqrt(n)沒有最優結果。 一些數據集,其結果非常糟糕。 例如,一篇關於90年代論文鏈接論文稱,k的最佳結果是在5-10 bu sqrt(n)之間給出了17。其他一些論文提出了有趣的建議,例如局部k值或加權k。

obvioust顯然選擇k它不是一個簡單的選擇。 這沒有一個簡單的公式,取決於我們的數據集。 選擇最佳k的最佳方法是計算k對我們的數據集最佳的精度。 通常,如果我們的數據集越來越大,那么最佳k值也會增加。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM