KNN算法簡(jiǎn)單實(shí)現(xiàn)
*下面KNN算法的實(shí)現(xiàn),由于個(gè)人編碼水平有限,若有不合理的地方請(qǐng)指正
1.????? 選擇數(shù)據(jù)
選擇從網(wǎng)上下載的水果數(shù)據(jù)集,將其中的三分之二作為訓(xùn)練數(shù)據(jù),其中的三分之一作為測(cè)試數(shù)據(jù)。分別放入兩張表中,訓(xùn)練集和測(cè)試集的數(shù)據(jù)結(jié)構(gòu)均相同如下圖:

2.????? 編寫(xiě)算法
導(dǎo)入第三方庫(kù)并加載訓(xùn)練數(shù)據(jù)集:

載入測(cè)試數(shù)據(jù),并尋找影像水果標(biāo)簽的參數(shù),將其中文本部分刪除掉,用mass、width、height、color_socre四個(gè)參數(shù)進(jìn)行計(jì)算。

定義距離計(jì)算公式:

定義標(biāo)簽的預(yù)測(cè)方法:(將每個(gè)測(cè)試樣本與訓(xùn)練集中的每個(gè)數(shù)據(jù)計(jì)算歐式距離,返回距離最小的K個(gè)值,將這K個(gè)值中標(biāo)簽出現(xiàn)最多的一個(gè)作為該測(cè)試樣本的標(biāo)簽)

執(zhí)行預(yù)測(cè)樣本,K值設(shè)定為5:

輸出KNN計(jì)算的準(zhǔn)確度:

具體代碼請(qǐng)參閱 https://blog.csdn.net/Geo_Phy/article/details/114638052
標(biāo)簽: