jupyter notebook
k近鄰演算法
import numpy as np
from matplotlib import pyplot as plt
import math
#自己弄的訓練集和結果
`#x是我們要測試的值在下圖用藍色表示
knn,求x與其他點的距離,並儲存進distant中去
對所獲取到的距離進行下標排序
np.argsort(distant)
np.argsort(distant)
array([2, 3, 1, 4, 0], dtype=int64)
nearst = np.argsort(distant)
獲取到排序號的點座標,進行相應y_train中座標的值,才是我們想要的
k =3 說明與三個數進行比較,看離誰近,則進行投票
#從y_train結果訓練集中獲取最近三個點的結果,通過索引來獲取
topk_y = [y_train[i] for i in nearst[:k]]
topk_y
[0, 1, 0]
此時我們得出了0,1,0說明 0勝出,**到的結果應該是0
from collections import counter
counter(topk_y)
counter()
計數完進行投票
votes = counter(topk_y)
votes.most_common(1)
[(0, 2)]
votes.most_common(1)[0][0]
0把值存在predict中來
predict = votes.most_common(1)[0][0]
predict
0
機器學習之KNN演算法
在幾位志同道合的小夥伴的帶領下,開始了機器學習的路程,然而一切並不是想象的那麼簡單,因此本文記錄了自己的學習路程,希望還能堅持做好這件事。knn演算法是機器學習中屬於比較簡單的演算法,容易理解和閱讀。1.knn的應用 客戶流失 欺詐偵測等 更適合於稀有事件的分類問題 2.優缺點 優點 這是乙個簡單有...
機器學習演算法之KNN
物以類聚 人以群分,乙個例項與它周圍的例項屬於同一類的概率較大。給定乙個訓練資料集,對新輸入的例項,在訓練資料集中找到與該例項最鄰近的k個例項,這k個例項的多數屬於某個類,就把該輸入例項分為這個類。這裡,選用了歐氏距離,k的預設值為3,使用了sklearn提供的digits資料集來進行測試。inpu...
機器學習之kNN演算法
knn原理及實踐 1 演算法介紹 總的來說,機器學習入門的第乙個演算法是k 近鄰演算法 knn 它的工作原理是 存在乙個樣本資料集合,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將新資料的每個特徵與樣本集中資料對應的特徵進...