iT邦幫忙

DAY 10
0

Python + 機器學習/深度學習小筆記系列 第 10

[Day - 10]機器學習實例2(K-近鄰算法實現手寫體數字識別-2)

https://ithelp.ithome.com.tw/upload/images/20190911/20119675DKlni4tq5L.jpg
接續前言
先複習一下
現有的三類訓練集數據,有一個新的樣本Xu,選取了距離最近的(預設參數設定k=5)個點

KNN算法偽代碼
假設X_test為待標記的數據樣本,X_train為已標記的數據集,偽代碼如下:
遍歷X_train中的所有樣本,計算每個樣本與X_test的距離,並把距離保存在Distance數組中
對Distance數組進行排定,取距離最近的k個點,記為X_knn
在X_knn中統計每個類別的個數,即class_0在X_knn中有幾個樣本,class_1在X_knn中有幾個樣本
待標記樣本的類別,就是在X_knn中樣本個數最多的那個類別

算法參數
算法參數: k
一般k的取值為1-20
當k=1時,為最近鄰算法
Sklearn中,K默認為5
距離一般用歐式距離或者曼哈頓距離

歐式距離公式:
https://ithelp.ithome.com.tw/upload/images/20190911/20119675hmO6OQtkbo.jpg


上一篇
[Day - 9]機器學習實例2(K-近鄰算法實現手寫體數字識別-1)
下一篇
[Day - 11]機器學習實例2(K-近鄰算法實現手寫體數字識別-3)
系列文
Python + 機器學習/深度學習小筆記20

尚未有邦友留言

立即登入留言