機器學習_學習筆記系列(46):k-鄰近演算法分類(k-Nearest Neighbor Classification)
May 28, 2021
OK我們從第26回一直到45回,整整花了20個篇章寫Ensemble Learning的演算法,那接下來我們就要進入到新的TOPIC — 「k-鄰近演算法分類(k-Nearest Neighbor Classification)」。
k-Nearest Neighbor
kNN分類演算法可以說是機器學習當中,概念最為值觀的演算法,其方式就是當我們在訓練模型時,從我們從訓練集裡面挑到一筆資料後,我們會選離這個資料點最近的k筆資料作為參考,看他們的類別是什麼,然後選出種類最多的類別,即是此資料點的預測類別,也就是所謂的「物以類聚」。
接下來我們來看看kNN的效能
我們可以看到當k值越大,我們的邊界線就會變得越來越平滑,也就是我們模型的泛化能力會越來越好,但是如果我們所選的k值過大,對於一些局部的區域,就無法很好的catch到我們想要的結果。
Python Sample Code:
Github:
Reference:
[1] Scikit-learn: Machine Learning in Python, Pedregosa et al., JMLR 12, pp. 2825–2830, 2011.