當前位置:
首頁 >
K-近邻分类算法KNN
發布時間:2025/4/16
51
豆豆
生活随笔
收集整理的這篇文章主要介紹了
K-近邻分类算法KNN
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
K-近鄰(K-Nearest Neighbors, KNN)是一種很好理解的分類算法,簡單說來就是從訓練樣本中找出K個與其最相近的樣本,然后看這K個樣本中哪個類別的樣本多,則待判定的值(或說抽樣)就屬于這個類別。
KNN算法的步驟
- 計算已知類別數據集中每個點與當前點的距離;
- 選取與當前點距離最小的K個點;
- 統計前K個點中每個類別的樣本出現的頻率;
- 返回前K個點出現頻率最高的類別作為當前點的預測分類。
OpenCV中使用CvKNearest
OpenCV中實現CvKNearest類可以實現簡單的KNN訓練和預測。 [cpp]?view plaincopy使用的是之前BP神經網絡中的例子,分類結果如下:
預測函數find_nearest()除了輸入sample參數外還有些其他的參數: [cpp]?view plaincopy
即,samples為樣本數*特征數的浮點矩陣;K為尋找最近點的個數;results與預測結果;neibhbors為k*樣本數的指針數組(輸入為const,實在不知為何如此設計);neighborResponse為樣本數*k的每個樣本K個近鄰的輸出值;dist為樣本數*k的每個樣本K個近鄰的距離。
總結
以上是生活随笔為你收集整理的K-近邻分类算法KNN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Normal Bayes 分类器过程详解
- 下一篇: 整数划分问题(递归法)