机器学习:KNN算法(MATLAB实现)
K-近鄰算法的思想如下:首先,計(jì)算新樣本與訓(xùn)練樣本之間的距離,找到距離最近的K 個(gè)鄰居;然后,根據(jù)這些鄰居所屬的類(lèi)別來(lái)判定新樣本的類(lèi)別,如果它們都屬于同一個(gè)類(lèi)別,那么新樣本也屬于這個(gè)類(lèi);否則,對(duì)每個(gè)后選類(lèi)別進(jìn)行評(píng)分,按照某種規(guī)則確定新樣本的類(lèi)別。(統(tǒng)計(jì)出現(xiàn)的頻率)
該算法比較適用于樣本容量比較大的類(lèi)域的自動(dòng)分類(lèi),而那些樣本容量較小的類(lèi)域采用這種算法比較容易產(chǎn)生誤分當(dāng)K值較小時(shí)可能產(chǎn)生過(guò)擬合,因?yàn)橛?xùn)練誤差很小,但是測(cè)試誤差可能很大;相反,當(dāng)K值較大時(shí)可能產(chǎn)生欠擬合。
算法偽代碼
對(duì)未知類(lèi)別屬性的數(shù)據(jù)集中的每個(gè)點(diǎn)依次執(zhí)行以下操作:
(1) 計(jì)算已知類(lèi)別的數(shù)據(jù)集中的點(diǎn)與當(dāng)前點(diǎn)之間的距離;
(2) 按照距離遞增次序排序;
(3) 選取與當(dāng)前點(diǎn)距離最小的K個(gè)點(diǎn);
(4) 確定前K個(gè)點(diǎn)所在類(lèi)別的出現(xiàn)頻率;
總結(jié)
以上是生活随笔為你收集整理的机器学习:KNN算法(MATLAB实现)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 以非root 用戶安裝並啟動高級單服務器
- 下一篇: 多变量线性回归程序实现