K 最近鄰算法(KNN)是一種非常簡單但功能強大的機器學習模型。它根據訓練集中k 個最接近樣本的標簽為新樣本分配標簽。盡管它很簡單,但它提供了許多現實世界數據集中最好的性能之一。
KNN也是一個非常靈活的模型:它可以找到類之間任何形狀的決策邊界,並且可以用於分類和回歸問題。
K-最近鄰分類
KNN 分類算法背後的思想非常簡單:給定一個新樣本,將其分配給其k 個最近鄰中最常見的類。
新樣本的標簽由它的 k 個最近鄰決定
該算法的訓練階段僅包括存儲訓練樣本及其標簽,即不根據數據構建模型。
在預測階段,計算測試(查詢)點x與所有存儲樣本之間的距離,找到距離最小的k個樣本,並將這些樣本的多數標簽分配給x。
該算法的偽代碼隻需幾行即可編寫:
KNN 分類算法的偽代碼
請註意,由於該算法依賴於距離計算,因此對數據集進行歸一化以確保所有特征具有相同的尺度非常重要。: