一 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