機器學習之 K近鄰演算法(KNN)

2021-10-02 18:45:25 字數 723 閱讀 1735

k近鄰演算法是機器學習中的最基礎的演算法之一,也是必須會講解的演算法之一。因為其簡單,易懂。但是k近鄰演算法在實際應用中卻很少使用到,由於其侷限性很強,執行效率低下。

那麼所謂的k近鄰中的近鄰是指:已有乙個訓練資料集,現給定乙個新的資料,利用現有資料集對其進行**,那麼**方法便是尋找與給定資料距離最近的k個點。那麼從這k個點當中對不同的資料個數進行統計,新資料的**結果就是k個點當中數量最多的這個點對應的結果。

如圖所示:取k的值為3,則尋找與給定點(紅點)距離最近的k(3)個點,其中綠色點的數量(2)大於藍色點的數量(1),所以**該紅點的結果應該和綠點對應的型別相一致。

根據機器學習的步驟,我們進行如下操作:

#  載入資料(本例中使用開源資料庫中的鳶尾花資料)

from sklearn.dataset import load_iris

import numpy as np

iris = load_iris() #載入資料到iris

"""鳶尾花資料原始有四個特徵,為了繪圖方便,我們只使用其兩個特徵"""

x_train = np.array([iris.data[:,0],iris.data[:,1])

y_train = np.array(iris.target)

機器學習 k 近鄰 kNN 演算法

一 基本原理 存在乙個樣本資料集合 也稱訓練樣本集 並且樣本集中每個資料都存在標籤。輸入沒有標籤的新資料後,將新資料的每個特徵與樣本集中資料對應的特徵進行比較,然後演算法提取樣本集中特徵最相似資料 最近鄰 的分類標籤。我們一般只選擇樣本集中前k k通常是不大於20的整數 個最相似的資料,最後選擇k個...

機器學習 k近鄰演算法 kNN

knn演算法通過計算當前測試樣本與離它最近的k個點的距離,進行投票,得到它最有可能的分類結果。首先來看看機器學習演算法的基本流程 由此可見knn演算法的特點 1.k近鄰演算法是非常特殊的,可以認為是沒有模型的演算法。2.為了和其他演算法統一,可以認為訓練資料集就是模型本身。這也是scikit lea...

機器學習 k 近鄰演算法(KNN)

簡單地說,k 近鄰演算法採用測量不同特徵值之間的距離方法進行分類。優點 精度高 對異常值不敏感 無資料輸入假定。缺點 計算複雜度高 空間複雜度高。適用範圍 數值型和標稱型。對於該演算法更通俗的說法,拿到乙個資料a,計算其與資料集c中的資料的距離,通過使用特徵值進行求歐式距離。然後排序取出其前k相鄰的...