1. 程式人生 > >機器學習-4(k-進鄰演算法簡介中)

機器學習-4(k-進鄰演算法簡介中)

既然要介紹該演算法,我們就簡單介紹一下歐式距離

這個應該是我們初中就學過的了,2點之間的距離就是它的多維空間裡面每個維度的座標的差的平方之和,再開方

公式就是

OK,我們現在按照分類的基本原則,把所有的樣本集都放進我們的座標系裡面來,有多少特徵,我們就建立幾維的空間座標系。

這裡的幾維就對應上面的x1,x2....xn以及y1,y2......yn所確定的點

然後通過計算直線距離,來進行距離排序。

我們要進行分類的訓練樣本越接近那個特徵,或者說那些特徵的權重比較之下的新特徵,那麼我們就可以把它分類到那個類別下。

這裡的K,就對應已經明確類別的哪些空間元素了。

 

OK,那我們來討論一下K的大小,你是希望比較的越多呢來顯示更精確,還是比較的不那麼多,最快得到類別

打個比方吧,把人類放進浩瀚的宇宙,你怎麼確定你身邊的這個生物就是人呢?

宇宙中有那麼多的元素,你需要把所有的元素都拿來比較嗎?

我的天,那你要玩到什麼時候,宇宙級的計算機也要認慫了。。

所以我們需要縮小範圍,不能無窮盡的去放大K。。。。。。。。。。。。

我們就一般情況下,和你公司周圍幾個人比較就ok了,一般預設幾個人呢?20!20就足夠了。

所以我們預設就是K=20.。。。。。。。。。。當然也要視情況而言,你要先對你的資料有個瞭解。

看看有沒有非洲人,歐洲人,變性人出現的可能,沒有,那就好辦了,一群中國人。。。那就隨便晒20個附近的阿貓阿狗和某些人進來比較就尤拉

 

先去下numpy函式庫啦,不下也可以,反正你牛逼!

下期就直接用程式碼演示下相關演算法如何實現的