簡單來說K-近鄰算法采用測量不同特征值之間的距離方法進行分類。
K最近鄰(k-NearestNeighbor,KNN),是一種常用于分類的算法,是有成熟理論支撐的、較為簡單的經典機器學習算法之一。該方法的基本思路是:如果一個待分類樣本在特征空間中的k個最相似(即特征空間中K近鄰)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別,即近朱者赤,近墨者黑。顯然,對當前待分類樣本的分類,需要大量已知分類的樣本的支持,其中k通常是不大于20的整數。KNN算法中,所選擇的鄰居都是已經正確分類的對象。該方法在定類決策上只依據最近鄰的一個或者幾個樣本的類別來決定待分樣本所屬的類別。因此KNN是一種有監督學習算法。
簡單的例子解釋KNN算法
最簡單最初級的分類器時將全部的訓練數據所對應的類別都記錄下來,當測試對象的屬性和某個訓練對象的屬性完全匹配時,便可以對其進行分類,但是怎么可能所有測試對象都會找到與之完全匹配的訓練對象呢,其次就是存在一個測試對象同時與多個訓練對象匹配,導致一個訓練對象被分到了多個類的問題,基于這些問題呢,就產生了KNN。
下面通過一個簡單的例子說明一下:綠色圓要被決定賦予哪個類,是紅色三角形?還是藍色四方形?如果K=3,由于紅色三角形所占比例為2/3,綠色圓將被賦予紅色三角形所屬的類,如果K=5,由于藍色四邊形比例為3/5,因此綠色圓被賦予藍色四邊形類。
由此也說明了KNN算法的結果很大程度取決于K的選擇。
以上內容為大家介紹了PythonK-近鄰算法概述,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。