機器學習基礎(四)之KNN演算法簡析

2021-09-11 11:19:24 字數 2044 閱讀 7811

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 它的工作原理是 存在乙個樣本資料集合,也稱作訓練樣本集,並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將新資料的每個特徵與樣本集中資料對應的特徵進...