K最近鄰分類演算法原理及例項分析

2021-09-03 02:22:29 字數 824 閱讀 4791

目錄

1、概述

k最近鄰(k-nearest neighbor,knn),指導思想是「近朱者赤,近墨者黑」,由你的鄰居來推斷出你的類別,knn分類演算法是最簡單的機器學習演算法。

2、原理

從訓練集中找到和新資料最接近的k條記錄,然後根據多數類來決定新資料類別,本質上,knn是使用距離來計算相似度。

演算法涉及3個主要因素:訓練資料集;距離或相似度的計算衡量;k的大小。

已知兩類「先驗」資料,分別是藍方塊和紅三角,他們分布在乙個二維空間中;

有乙個未知類別的資料(綠點),需要判斷它是屬於「藍方塊」還是「紅三角」類;

考察離綠點最近的3個(或k個)資料點的類別,占多數的類別即為綠點判定類別。

3、要點

算距離:給定測試物件,計算它與訓練集中的每個物件的距離;

找鄰居:圈定距離最近的k個訓練物件,作為測試物件的近鄰;

做分類:根據這k個近鄰歸屬的主要類別,來對測試物件分類。

距離越近應該意味著這兩個點屬於乙個分類的可能性越大。

距離不能代表一切,有些資料的相似度衡量並不適合用距離。

相似度衡量方法:包括歐式距離、夾角余弦等。

簡單應用中,一般使用歐氏距離,但對於文字分類來說,使用余弦(cosine)來計算相似度就比歐式(euclidean)距離更合適。

簡單投票法:少數服從多數,近鄰中哪個類別的點最多就分為該類。

加權投票法:根據距離的遠近,對近鄰的投票進行加權,距離越近則權重越大(權重為距離平方的倒數)

4、例項

K 最近鄰分類演算法 KNN 及python實現

問題 確定綠色圓是屬於紅色三角形 還是藍色正方形?knn的思想 從上圖中我們可以看到,圖中的資料集是良好的資料,即都打好了label,一類是藍色的正方形,一類是紅色的三角形,那個綠色的圓形是我們待分類的資料。如果k 3,那麼離綠色點最近的有2個紅色三角形和1個藍色的正方形,這3個點投票,於是綠色的這...

K最近鄰演算法

參考 所謂k最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。cover和hart在1968年提出了最初的鄰近演算法。knn是一種分類 classification 演算法,它輸入基於例項的學習 instance based learning 屬於懶惰學習 lazy ...

K最近鄰演算法

一 原理 k最近鄰演算法 k nearest neighbor,knn 是最基本的分類演算法,其基本原理是 從最近的k個鄰居 樣本 中,選擇出現次數最多的類別作為判定類別。k最近鄰演算法可以理解為是乙個分類演算法,常用於標籤的 如性別。實現knn演算法核心的一般思路 相似度計算 計算未知樣本和每個訓...