1. 程式人生 > >KNN演算法優缺點總結,以及機器學習流程的總結

KNN演算法優缺點總結,以及機器學習流程的總結

KNN演算法作為一個最簡單,也是一個很實用的機器學習的演算法,日常的使用中也能處理很多問題,這裡做一下總結記錄

優點

1、KNN可以處理分類問題,同時天然可以處理多分類問題,比如鳶尾花的分類

2、簡單,易懂,同時也很強大,對於手寫數字的識別,鳶尾花這一類問題來說,準確率很高

3、KNN還可以處理迴歸問題,也就是預測

缺點

1、效率低,因為每一次分類或者回歸,都要把訓練資料和測試資料都算一遍,如果資料量很大的話,需要的算力會很驚人,但是在機器學習中,大資料處理又是很常見的一件事

2、對訓練資料依賴度特別大,雖然所有機器學習的演算法對資料的依賴度很高,但是KNN尤其嚴重,因為如果我們的訓練資料集中,有一兩個資料是錯誤的,剛剛好又在我們需要分類的數值的旁邊,這樣就會直接導致預測的資料的不準確,對訓練資料的容錯性太差

3、維數災難,KNN對於多維度的資料處理也不是很好,如下圖

因為距離會越來越大,那麼就會越來越“不像”,而對於KNN這種高度依賴距離的演算法來說,這個也會影響準確率的

機器學習具體實踐的整個流程

形象一點的流程圖