k近鄰:從字面上理解,就是:近朱者赤,近墨者黑。和誰離得近和誰歸為一類。
1 演算法原理
(1)計算測試資料與各個訓練資料之間的距離,方法:閔可夫斯基距離
(2)按照距離的遞增順序排序
(3)選取距離最小的k個點
(4)確定前k個點所在類別的出現頻率(即為各個類別出現次數)
(5)返回前k個點所在類別的出現頻率,測試集的類別就為頻率出現次數最大的那一類。
圖一,為k=1時的圖,兩個小星星為測試集,k=1意味著和自己裡的最近的那個歸為一類所以就離得近的顏色相同歸為一類。
圖二,k=3時,就是和測試集裡的最近的三個點,明顯看黃色星星,離他近的有兩個黃色三角形,剩下只有乙個藍色圓圈,所以未知種類的小星星就歸為黃色三角形那一組啦。
2.演算法優缺點
(1)思想簡單
(2)可用於線性分類
(3)訓練時間複雜度為o(n)
(4)計算量大,運算速度慢,不能處理具有很多特徵的資料集
(5)不利於處理資料不平衡的情況
(6)需要大量記憶體
4、小tips
(1)k值取奇數,偶數會出現兩類數量相同的尷尬,不知道去哪
(2)使用更少的鄰居對應更高的模型複雜度,使用更多的鄰居對應更低的模型複雜度
(鱷魚書上的打了個比方,如果k值為n,那就不需要分類,就一大類,所以模型十分簡單啦。那如果k值為1就要分n類,明顯模型變得更複雜了)
5、k-nn用於回歸
在這裡重新理一下回歸和分類的區別:
分類可以分為二分類和多分類,二分類中通常有乙個正類乙個反類;
回歸的任務就是**乙個連續值,程式設計術語叫做浮點數,數學中叫做實數。
機器學習 K NN分類
一 定義 1 k nn分類全稱為k近鄰法 k nearest neighbor 是一種基本回歸與分類方法 給定乙個訓練資料集,對新的輸入例項,在訓練資料集中找到與該例項最近的k個例項,這k個例項中多數例項屬於某一類,就把該輸入例項分為這一類。2 好比說,你周圍的同學大都是些好學生,你也會被認為是好學...
KNN分類和回歸學習 sklearn
參考文章 python大戰機器學習 不好,就是官方文件的中文版再加上幾個簡單的例子 資料探勘十大演算法 k近鄰演算法 機器學習筆記 knn演算法 常用樣本相似性和距離度量方法 輸入為例項的特徵向量,計算新資料與訓練資料之間的距離,選取k個距離最近的資料進行分類或回歸判斷 對於分類問題 輸出為例項的類...
機器學習 分類與回歸
連續變數 定性輸出稱為分類,或者說是 離散變數 回歸問題通常是用來 乙個值 如 房價 未來的天氣情況等等,例如乙個產品的實際 為500元,通過回歸分析 值為499元,我們認為這是乙個比較好的回歸分析。乙個比較常見的回歸演算法是線性回歸演算法 lr 另外,回歸分析用在神經網路上,其最上層是不需要加上s...