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