'''
带权回归
'''# 数据集import math
T =[[3,104,98],[2,100,93],[1,81,95],[101,10,16],[99,5,8],[98,2,7]]# 预测集
x =[18,90]# k
k =4# 创建空数据集用于保存预测样本到每个训练样本的距离 和其标签
dis =[]for i in T:
dis.append([math.sqrt((x[0]- i[0])**2+(x[1]- i[1])**2),i[2]])# 排序
dis.sort(key=lambda i:i[0])
dis =[[1/i[0],i[1]]for i in dis][0:k]
theta =1/sum([i[0]for i in dis])
res =sum([i[0]* i[1]for i in dis])print(res * theta)>># 结果是>>91.02775527644329