k臨近演算法

2022-09-04 11:57:11 字數 1426 閱讀 2502

1.knn

k近鄰演算法的工作機制就是給定測試樣本,基於某種距離度量找出訓練集中與其最靠近的k個訓練樣本,然後基於這k個「鄰居」的資訊來進行**。

2.思維導圖

3.**

import

numpy as np

#訓練資料

class

k_neigbors:

def__init__

(self,k):

self.k =k

deffit(self,x_train,y_train):

self.x =x_train

self.y =y_train

defpredict(self,x_test):

dist_list = [(-np.linalg.norm(x_test - self.x[i], ord=2), self.y[i], i)

for i in range(len(self.y))] #

計算歐式距離

target =list(self.y)

idol_target =0

for i in

range(self.k):

index = dist_list.index(max(dist_list)) #

選取最大值 #

target_try = target[index] #

最大值target

dist_list.remove(dist_list[index])

target.remove(target[index])

if(target_try<0):

idol_target -= 1

else

: idol_target += 1

if idol_target >=0:

return 1

else

:

return -1

defmain():

#訓練資料

x_train = np.array([[5,9],[9,6],[4,7],[2,3],[8,1],[7,2]])

y_train = np.array([1,1,1,-1,-1,-1])

#測試資料

x_test = np.array([5,3])

#例項化模型

k=3model = k_neigbors(k=k)

model.fit(x_train,y_train)

y_predict =model.predict(x_test)

print("

k={},被分類為:{}

".format(k, y_predict))

if__name__ == "

__main__":

main()

K臨近演算法

k臨近演算法 k nearest neighbor,knn 是最簡單的監督學習分類演算法之一。有之一嗎?對於乙個應用樣本點,k臨近演算法尋找距它最近的k個訓練樣本點即k個nearest neighbor。若在k個鄰居中屬於某一類別的最多,則認為應用樣本點也屬於該類別。knn演算法無需訓練,很容易實現...

K臨近演算法

k臨近演算法 k nearest neighbor,knn 是最簡單的監督學習分類演算法之一。有之一嗎?對於乙個應用樣本點,k臨近演算法尋找距它最近的k個訓練樣本點即k個nearest neighbor。若在k個鄰居中屬於某一類別的最多,則認為應用樣本點也屬於該類別。knn演算法無需訓練,很容易實現...

K 臨近演算法學習總結

1演算法簡介 按照距離遞增次序排序 選取與當前點距離最小的k個點 確定前k個點所在類別的出現頻率 返回前k個點所出現頻率最高的類別作為當前點的 分類 import numpy as np import operator def createdataset 四組二維特徵 group np.array ...