機器學習實戰----k值近鄰演算法(Python語言)

lcc發表於2021-09-09

實現kNN 分類演算法的步驟:

(1)計算已知類別資料集中的點和我們要測試的實驗資料點的距離

注:什麼是距離,即使用歐式距離計算公式

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

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

注:K的值取多大合適,我也在學習,之後也會寫部落格筆記,一起交流

(4)確定在k個值中,哪個類出現的頻率最高

(5)實驗結果是將出現頻率最高的那個類最為我們的結果,即完成測試資料的分類

注意:程式碼中好多註釋掉的print,如果你不太理解每一步的意思,可列印出來看看,便於理解

圖片描述

圖片描述

理解sortedClassCount[0][0]的用法嗎??

由於sorted函式返回的是以元組為成員的列表,即圖片描述故需要兩次索引,有沒有豁然開朗,嘻嘻。。

圖片描述

最後呼叫函式,輸入[0,0]測試,給我們分的類是B

歐式距離公式;圖片描述

下面就是對程式碼中的函式進行解釋:

首先是.tile()函式---是一個將陣列在指定軸進行多次copy,廢話不多說,看例子

圖片描述

結果:注意是幾位陣列

圖片描述

此函式在本程式碼的應用是,將測試資料[0,0],擴充套件,然後才可以一次性運算矩陣減法,將該資料與訓練集做差,即步驟(1)。

歡迎留言,我虛心接收意見和教導。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2331/viewspace-2802095/,如需轉載,請註明出處,否則將追究法律責任。

相關文章