欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

K-近鄰算法的python實現(xiàn)代碼分享

 更新時間:2017年12月09日 09:57:23   作者:kekezhai  
這篇文章主要介紹了K-近鄰算法的python實現(xiàn)代碼分享,具有一定借鑒價值,需要的朋友可以參考下。

k-近鄰算法概述:

所謂k-近鄰算法KNN就是K-Nearest neighbors Algorithms的簡稱,它采用測量不同特征值之間的距離方法進行分類

用官方的話來說,所謂K近鄰算法,即是給定一個訓練數(shù)據(jù)集,對新的輸入實例,在訓練數(shù)據(jù)集中找到與該實例最鄰近的K個實例(也就是上面所說的K個鄰居), 這K個實例的多數(shù)屬于某個類,就把該輸入實例分類到這個類中。

k-近鄰算法分析

優(yōu)點:精度高、對異常值不敏感、無數(shù)據(jù)輸入假定。

缺點:計算復雜度高、空間復雜度高。

適用數(shù)據(jù)范圍:數(shù)值型和標稱型

k-近鄰算法工作原理:

它的工作原理是:存在一個樣本數(shù)據(jù)集合,也稱作訓練樣本集,并且樣本集中每個數(shù)據(jù)都存在標簽,即我們知道樣本集中每一數(shù)據(jù)與所屬分類的對應關系。輸入沒有標簽的新數(shù)據(jù)后,將新數(shù)據(jù)的每個特征與樣本集中數(shù)據(jù)對應的特征進行比較,然后算法提取樣本集中特征最相似數(shù)據(jù)(最近鄰)的分類標簽。一般來說,我們只選擇樣本數(shù)據(jù)集中前k個最相似的數(shù)據(jù),這就是k-近鄰算法中k的出處,通常k是不大于20的整數(shù)。最后,選擇k個最相似數(shù)據(jù)中出現(xiàn)次數(shù)最多的的分類,作為新數(shù)據(jù)的分類。

​k-近鄰算法實現(xiàn)過程:

對未知類別​屬性的數(shù)據(jù)集中的每個點依次執(zhí)行以下操作:

​(1)計算已知類別數(shù)據(jù)集中的點與當前點之間的距離;

(2)按照距離遞增次序排序;

(3)選取與當前點距離最小的k個點;

(4)確定前k個點所在類別的出現(xiàn)頻率;

(5)返回前k個點出現(xiàn)頻率最高的類別作為當前點的預測分類。

​k-近鄰算法python代碼實現(xiàn):

編輯kNN.py文件代碼如下:

編輯完成后保存,linux下確保當前路徑為存儲kNN.py文件的位置,進入python開發(fā)環(huán)境開始測試:

上圖給出了點[0,0]、[1,0.9]的測試輸出分類結(jié)果分別為B、A。至此,我們已經(jīng)構(gòu)造完成了一個分類器,使用這個分類器可以完成很多分類任務。從這個實例出發(fā),構(gòu)造使用分類算法將會更加容易。

分類器測試評估:

為了測試分類器的效果,需要對分類器做出評估,我們可以通過大量的測試數(shù)據(jù)得到分類器的錯誤率——分類器給出錯誤結(jié)果的次數(shù)除以測試執(zhí)行的總數(shù)。錯誤率是常用的評估方法,主要用于評估分類器在某個數(shù)據(jù)集上的執(zhí)行效果。完美分類器的錯誤率為0,最差分類器的錯誤率是1.0,在這種情況下,分類器根本就無法找到一個正確答案。

結(jié)束語:

本文首先對kNN做了簡單介紹,通過了解其工作原理和實現(xiàn)流程,并使用k-近鄰算法構(gòu)造了分類器。我們也可以檢驗分類器給出的答案是否符合我們的預期。此外,還可以對分類器做大量的測試,并以錯誤率來評估該分類器的分類效果。

以上就是本文關于K-近鄰算法的python實現(xiàn)代碼分享的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關文章

最新評論