import random
import csv
#数据读取
with open('Prostate_Cancer.csv','r')as file:
reader=csv.DictReader(file)
dates=[row for row in reader]
#分组
random.shuffle(dates)#数据打乱顺序
n=len(dates)//3
#测试
test_set=dates[0:n]
#训练
train_set=dates[n:]
#KNN
#距离
def distance(d1,d2):
res=0
for key in("radius","texture","perimter","area","smoothness","compactness","symmetry","fractal","dimension"
):
res+=(float(d1[key])-float(d2[key]))**2
return res**0.5
K=5
def knn(data):
#距离
res=[
{"result":train['distance_result'],"distance":distance(data,train)}
for train in train_set
]
knn(test_set[0]
编辑一直都没问题突然就这样了