1. 程式人生 > >機器學習-7(實戰演練k-近鄰演算法)

機器學習-7(實戰演練k-近鄰演算法)

首先,這裡不討論你如何獲取資料,我們假設這些都已存在我們的庫裡面了,並已經建立好了正確的分類了。

這裡我直接截圖我的實驗庫吧:

現在我們的任務就是隨便輸入一個經緯度,來看看它屬於哪一個國家

先來把我們的讀取任務搞定吧

OK,初步清洗完成,把標籤國家拿出來了,經緯度拿出來了

先來拿10%來做測試樣本吧

錯誤率58,等於只對了42個,無法接受啊!我們繼續來用歸一的思想來計算一次

 

  

 

計算出來,錯誤率依然很高,OK,演示就到這裡了,我們來分析一下why?

我去看了下歷史資料,oh my god,原來是我的資料太少了,在這個演算法裡排序的時候,最近的3個,有的時候發現,3個最近的國家計數都是1.。。。。那這演算法他就按最先出來的那一個算老大了。。當然就錯誤了。。

所以這個演算法並不適合對於經緯度處於哪個國家的計算,或者說是因為我的資料太少,而且k取的太小

最後我反思了下,及時我的資料倉庫存在了很多很多資料,但是對於兩國或者多國邊界,即便我把k放大,如果是個小國家呢,比如越南和中國交界處。。。明顯中國的更多。。所以,總結就是,在此處我們需要另尋他法來解決這個問題了

如何解決,我們留到以後的章節再來細說了