一、定义
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
二、算法原理
三、实验(预测癌症)
import random
import csv
#读取数据
with open('Prostate_Cancer.csv','r')as file:
reader=csv.DictReader(file)
datas=[row for row in reader]
# print(datas)
# for row in reader:
# print(row)
#分组
random.shuffle(datas)
n=len(datas)//3
test_set=datas[0:n]
train_set=datas[n:]
#KNN
#算距离 函数
def distance(d1,d2):
res=0
for key in ("radius","texture","perimeter","area","smoothness","compactness","symmetry","fractal_dimension"):
res+=(float(d1[key])-float(d2[key]))**2
#res += (d1[key] -