一
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
转载于:https://www.cnblogs.com/1994tj/p/11189511.html