一 import numpy as np ##初始化數據 T = [[3, 104, -1], [2, 100, -1], [1, 81, -1], [101, 10, 1], [99, 5, 1], [98, 2, 1]] ##初始化待測樣本 x = [18, 90] ##初始化鄰居數 K = 5 ##初始化存儲距離列表[[距離1,標籤1],[距離2,標籤2]....] dis=[] ##循環每個數據點,把計算結果放入dis for i in T: d = ((x[0]-i[0])**2+(x[1]-i[1])**2)**0.5 dis.append([d,i[-1]]) ##對dis按照距離排序 dis.sort() ##將前K個票放入投票箱 np.sign(sum([i[-1] for i in dis[:K]])) 二 #帶權投票 import numpy as np ##初始化數據 T = [[3, 104, -1], [2, 100, -1], [1, 81, -1], [101, 10, 1], [99, 5, 1], [98, 2, 1]] ##初始化待測樣本 x = [18, 90] ##初始化鄰居數 K = 5 ##初始化存儲距離列表[[距離1,標籤1],[距離2,標籤2]....] dis=[] ##循環每個數據點,把計算結果放入dis for i in T: d = ((x[0]-i[0])**2+(x[1]-i[1])**2)**0.5 dis.append([d,i[-1]]) ##對dis按照距離排序 dis.sort() ##將前K個票放入投票箱 np.sign(sum([i[-1]/i[0] for i in dis[:K]])) 三 import numpy as np ##初始化數據 T = [[3, 104, 98], [2, 100, 93], [1, 81, 95], [101, 10, 16], [99, 5, 8], [98, 2, 7]] ##初始化待測樣本 x = [18, 90] ##初始化鄰居數 K = 5 ##初始化存儲距離列表[[距離1,標籤1],[距離2,標籤2]....] dis=[] ##循環每個數據點,把計算結果放入dis for i in T: d = ((x[0]-i[0])**2+(x[1]-i[1])**2)**0.5 dis.append([d,i[-1]]) ##對dis按照距離排序 dis.sort() ##將前K個票放入投票箱 np.mean([i[-1] for i in dis[:K]]) 四 #帶權迴歸 import numpy as np ##初始化數據 T = [[3, 104, 98], [2, 100, 93], [1, 81, 95], [101, 10, 16], [99, 5, 8], [98, 2, 7]] ##初始化待測樣本 x = [18, 90] ##初始化鄰居數 K = 5 ##初始化存儲距離列表[[距離1,標籤1],[距離2,標籤2]....] dis=[] ##循環每個數據點,把計算結果放入dis for i in T: d = ((x[0]-i[0])**2+(x[1]-i[1])**2)**0.5 dis.append([d,i[-1]]) ##對dis按照距離排序 dis.sort() ##將前K個票放入投票箱 fenzi = sum([i[-1]/i[0] for i in dis[:K]]) fenmu = sum([1/i[0] for i in dis[:K]]) fenzi/fenmu